首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

JSP中的JS不能重复执行的有关问题

2013-04-20 
JSP中的JS不能重复执行的问题页面是登录的页面,输入用户名密码后要获取短信验证码,点击获取短信验证码的时

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(#);");
               $('#aId').val("重新获取("+(n)+ ")");


               n--;       
           
           setTimeout(setEnable,1000);
        }  
      
}

//获取动态口令
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);
    
    }
    */
    alert("getDynamicPassword");
}

$(function() {
     $("#aId").val("获取短信码");
    $("#aId").attr("onClick","getDynamicPassword();setEnable();");    
    });
</script>
</head>
<body>
<input id="aId" type="button" ></div>
</body>
</html>

热点排行