私は自分のフォームにいくつかの簡単なフィールドを検証するためのjavascriptを書いています。私の問題は、フォームにエラーがない場合でもコードが機能することです。Javascriptの検証コントロール
は、具体的には、if(openHour > closeHour)
でエラーがスローされます。これは、コード
function checkForm()
{
var openHour;
var closeHour;
var i;
for(i=1;i<8;i++)
{
openHour = document.getElementById("openHours" + i).value;
closeHour= document.getElementById("closeHours" + i).value;
if(openHour > closeHour)
{
document.getElementById('error').innerHTML= "Opening Error at " + i;
return false;
}
if(openHour == "0" && closeHour > 0)
{
document.getElementById('error').innerHTML= "Closing Error at " + i;
return false;
}
}
}
'NaN'(アルファ文字列が渡された場合)を返すことがあるので、' parseInt() 'に注意してください。これは他の問題を引き起こし、画面上のどこかに表示されるとユーザに混乱させることがあります。 [Brendon Chevesの](http://stackoverflow.com/a/10097688/1304626)ソリューションはもう少し堅牢です。あなたとあなたのものを組み合わせて、NaNをチェックすることは賢明でしょう。 –