gpt4 book ai didi

javascript - Html 和 javascript 验证码(不是真正的生成)不起作用

转载 作者:行者123 更新时间:2023-11-28 19:58:17 28 4
gpt4 key购买 nike

这是代码:

<html>
<body>
<script>
function generateCaptchaImage(){
var captchaImage=document.getElementById("captchaImage");
var captchaNumber=Math.floor(Math.random()*3+1);
switch(captchaNumber){
case 1:
captchaImage.src="http://www.weebly.com/uploads/2/5/3/9/25398845/791161_orig.jpg";
var captchaCorr=63VD;
break;
case 2:
captchaImage.src="http://www.weebly.com/uploads/2/5/3/9/25398845/4582501_orig.jpg";
var captchaCorr=B8T7;
break;
case 3:
captchaImage.src="http://www.weebly.com/uploads/2/5/3/9/25398845/4758643_orig.jpg";
var captchaCorr=C1BS;
break;
default:
generateCaptchaImage();
break;
}
function verifyCaptcha(captchaInput){
if (captchaInput==captchaCorr){
document.write("Correct!")
}
}
generateCaptchaImage();
</script>
<form onsubmit="verifyCaptcha(this.form.captchaInput.value);return false;">
<img id="captchaImage" src="" />
Insert word in photo : <input type="text" name="captchaInput">
<input type="submit" value="Submit">
</form>

为什么这不起作用?生成随机图像的部分可能无法正常工作。

我该如何解决这个问题?我需要做什么?

请帮忙。

最佳答案

这里存在多个问题。我已经修复了它们并使其正常工作。这是上述内容的工作版本。

<html>
<head>
<script>
var captchaCorr;
function generateCaptchaImage(){
var captchaImage=document.getElementById("captchaImage");
var captchaNumber=Math.floor(Math.random()*3+1);

switch(captchaNumber){
case 1:
captchaImage.src="http://www.weebly.com/uploads/2/5/3/9/25398845/791161_orig.jpg";
captchaCorr="63VD";
break;
case 2:
captchaImage.src="http://www.weebly.com/uploads/2/5/3/9/25398845/4582501_orig.jpg";
captchaCorr="B8T7";
break;
case 3:
captchaImage.src="http://www.weebly.com/uploads/2/5/3/9/25398845/4758643_orig.jpg";
captchaCorr="C1BS";
break;
default:
generateCaptchaImage();
break;
}
}
function verifyCaptcha(){
var captchaInput = document.getElementById("captchaInput").value;
if (captchaInput==captchaCorr){
alert("Correct!")
}
return false;
}

</script>
</head>

<body>
<form onsubmit="return verifyCaptcha();">
<img id="captchaImage" src="" />
Insert word in photo : <input type="text" name="captchaInput" id="captchaInput">
<input type="submit" value="Submit">
</form>
</body>
<script>
generateCaptchaImage();
</script>
</html>

问题:

  1. captchaCorr 行右侧的字符串需要用引号引起来
  2. captchaCorr 需要是全局的(在函数之外)
  3. 输出 HTML 后需要调用generateCaptchaImage()函数

此外 - 我不知道你的完整用例 - 但是否值得重新发明轮子,考虑使用像 reCaptcha 这样的东西?

关于javascript - Html 和 javascript 验证码(不是真正的生成)不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22112484/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com