2016-02-18 60 views
0

这是我的代码:功能check()工作,但功能ChangeCaptcha()没有表现出信输入type="randomfield"如何在没有php的情况下添加captcha?

<body onload="ChangeCaptcha()"> 
    <input type="text" id="randomfield" disabled><br><br>        
    <input id="CaptchaEnter" size="20" ><br><br>       
    <button type="submit" onclick="check()">Log in</button> 

    <script type="text/javascript"> 
    function ChangeCaptcha() { 
     var chars= "1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; 
     var string_lenght = 6; 
     var ChangeCaptcha = ''; 
     for (var i=0; i<string_length; i++) { 
     var rnum = Math.floor(Math.random() * chars.length); 
     ChangeCaptcha+= chars.substring(rnum, rnum+1); 
     } 
     document.getElementById('randomfield').value= ChangeCaptcha; 
    } 
    function check() { 
     if (document.getElementById('CaptchaEnter').value == document.getElementById('randomfield').value) { 
     window.open('http://www.lolila.hol.es', '_self'); 
     } else { 
     alert('Pleace re-check the captcha!') 
     } 
    } 
    </script> 
</body> 
+0

究竟什么是您所遇到的问题?你期望得到什么? –

+1

你为什么要做客户端验证码验证?阅读此:http://stackoverflow.com/questions/3196335/how-to-create-simple-javascript-jquery-client-side-captcha – omerowitz

+1

错误的'var string_lenght = 6' >>'我 NewToJS

回答

1

我在Chrome开发者控制台执行你的代码就在这里: enter image description here

它告诉我你的代码中有一个错字,因为我不知道这个变量:string_length。你宣布它为string_lenght。要修复,请更改string_lenght => string_length。

结果:

function ChangeCaptcha() { 
     var chars= "1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; 
     var string_length = 6; 
     var ChangeCaptcha = ''; 
     for (var i=0; i<string_length; i++) { 
     var rnum = Math.floor(Math.random() * chars.length); 
     ChangeCaptcha+= chars.substring(rnum, rnum+1); 
     } 
     document.getElementById('randomfield').value= ChangeCaptcha; 
    } 

结果: enter image description here

相关问题