我正在尝试创建一个非常基本的反垃圾邮件功能,其中脚本生成一个随机数,然后用户必须在文本字段中键入它以便表单进行验证。我的问题是获取生成的数字的值以匹配输入。以下是我生成随机数的方法:
window.onload=function randomNumberGenerator()
{
var x=document.getElementById("number");
var randomNumber=Math.floor((Math.random()*100)+1);
x.innerHTML=randomNumber;
}
我试图在验证中得到这样的数字:
var x=document.forms["contactForm"]["realPerson"].value;
var correct=document.getElementById("number").value;
if (x != correct)
{
alert("Please write in the correct number");
return false;
}
但是过了一段时间我意识到innerHTML没有在DOM中放入任何可以读取的内容(至少看起来像是交易)。那么如何在提交表单时检索该数字以进行比较呢?我曾考虑过使用cookie,但这看起来有点令人生畏......
谢谢!
答案 0 :(得分:2)
如果您可以从客户端访问生成的号码,我认为您失去了目的。最好在服务器端生成随机数,并在表单提交后对其进行验证。
答案 1 :(得分:1)
你将第二次使用innerHTML,也许是使用parseInt
var correct=parseInt(document.getElementById("number").innerHTML);