页面是登录的页面,输入用户名密码后要获取短信验证码,点击获取短信验证码的时候会判断用户名密码是否正确,正确就发送短信验证码,发送成功后会有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

解决方案 »

  1.   

    你的代码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>