スクリプトが乱数を生成し、ユーザーがフォームを検証するためにテキストフィールドに入力する必要がある、非常に基本的なスパム対策機能を作成しようとしています。私の問題は、生成された数値の値を取得して、入力と照合することです。乱数を生成する方法は次のとおりです。
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 に何も入れていないことに気付きました (少なくとも、それは取り決めのようです)。では、フォームが送信されたときにその数値を取得して比較するにはどうすればよいでしょうか? クッキーを使おうと思ったのですが、ちょっと怖い…。
ありがとうございました!