1

我正在尝试制作一个非常基本的反垃圾邮件功能,其中脚本生成一个随机数,然后用户必须在文本字段中键入它才能验证表单。我的问题是获取生成的数字的值以将其与输入相匹配。这是我生成随机数的方法:

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,但这似乎有点吓人......

谢谢!

4

2 回答 2

2

如果您可以从客户端访问生成的号码,我认为您失去了目的。最好在服务器端生成随机数,并在表单提交后进行验证。

于 2013-03-19T05:03:56.263 回答
1

您将再次使用innerHTML,可能使用 parseInt

var correct=parseInt(document.getElementById("number").innerHTML);
于 2013-03-19T05:03:25.460 回答