JSP中的JS不能重复执行的问题
页面是登录的页面,输入用户名密码后要获取短信验证码,点击获取短信验证码的时候会判断用户名密码是否正确,正确就发送短信验证码,发送成功后会有10分钟的缓冲,缓冲过后在点击获取短信验证码就没反应。
var n = 0;
var intervalID;
function setEnable(){
if(n==10){
document.getElementById('aId').value = "获取短信码";
$("#aId").attr("onClick","getDynamicPassword()");
n=0;
// 有时稍后
clearInterval(intervalID);
}else{
document.getElementById('aId').onclick="javascript:void(#);";
document.getElementById('aId').value = "重新获取("+(10-n)+ ")";
}
n++;
}
function setEnable1(){
if(n==10){
document.getElementById('getsmscode').value = "获取短信短信码";
$("#getsmscode").attr("onClick","getValidateNumber()");
n=0;
// 有时稍后
clearInterval(intervalID);
}else{
document.getElementById('getsmscode').onclick="javascript:void(#);";
document.getElementById('getsmscode').value = "重新获取("+(10-n)+ ")";
}
n++;
}
//获取动态口令
function getDynamicPassword() {
var login_name = $.trim($("#login_name").val());
var password = $.trim($("#password").val());
if(check(login_name,password)){
MessagePasswordLoginAction.validateUser(login_name,password,clientip,validateResult);
intervalID = window.setInterval("setEnable()",1000);
}
}
JavaScript
短信
验证码
密码
JSP
------解决方案--------------------你的代码jquery和原生javascript混用,比较混乱。
我用jquery整理了一个demo给你看看吧,jquery的引用你自己更改就好了。
<!doctype html>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>
<script src="jquery.js"></script>
<script type='text/javascript'>
var n = 10;
function setEnable(){
if(n===0) {
$('#aId').val("获取短信码");
$("#aId").attr("onClick","getDynamicPassword();setEnable();");
n=10;
}
else{
$('#aId').attr("onClick","javascript:void(#);");
&n