私は本当に何かに固執しているようです。私はすべてのフォームの入力フィールドがnullか同等かどうかをチェックする関数を持っていますが、これはすべてうまくいきますが、すべてのフィールドをjavascript配列にロードしてからforループを実行することによって、フィールドのどれかが空であるかどうかをチェックするifステートメントと一緒に、残念ながら、私はこれを動作させることができないと思っています。フォーム入力フィールドをjavascript配列に読み込んだ後に検証する
function checkform()
{
if(checkempty)
{
display_errormessage("One or more fields empty!");
}
else
{
alert("Thanks for you input!");
}
}
display_errormessage()関数は、単に表示するために、フォームの上部にあるdiv要素の中に、エラーメッセージを置くものです:私はその後、別の関数を使用し
function checkempty()
{
fname = document.getElementById("firstname").value;
lname = document.getElementById("lastname").value;
fage = document.getElementById("age").value;
addressl1 = document.getElementById("addressline1").value;
addressl2 = document.getElementById("addressline2").value;
ftown = document.getElementById("town").value;
fcounty = document.getElementById("county").value;
fpcode1 = document.getElementById("pcode1").value;
fpcode2 = document.getElementById("pcode2").value;
ftelephone = document.getElementById("telephone").value;
fcomment = document.getElementById("comment").value;
var myArray = [];
myArray[0] = fname;
myArray[1] = lname;
myArray[2] = fage;
myArray[3] = addressl1;
myArray[4] = addressl2;
myArray[5] = ftown;
myArray[6] = fcounty;
myArray[7] = fpcode1;
myArray[8] = fpcode2;
myArray[9] = ftelephone;
myArray[10] = fcomment;
for(i=0;i<myArray.length;i++)
{
if(!myArray[0])
{
return true;
}
}
return false;
}
:ここに私のコードですフォームが不完全な場合はエラーメッセージが表示されます。
どこに間違っているのか誰にでも見られますか?
ありがとうございました!
デイブ。
コードでは、ループ内の配列の最初の要素のみがチェックされます。私はif(!myArray [0])ではなくif(!myArray [i])と言うことを意味すると思いますか? – kinakuta
ただコードを変更しましたが、すべてのフィールドに入力しても、感謝のメッセージを表示するのではなく、フィールドの1つがまだ空であることが主張されています。何か案は?? – GeordieDave1980