用于匹配随机数和文本输入的JavaScript

时间:2013-03-19 04:46:23

标签: javascript forms validation random innerhtml

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

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,但这看起来有点令人生畏......

谢谢!

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

你将第二次使用innerHTML,也许是使用parseInt

var correct=parseInt(document.getElementById("number").innerHTML);