<hr>
<form name="myForm" onSubmit="return checkF()" action="test.cgi" method="POST">
<input type="text" name="text1"><br>
<input type="text" name="text2"><br>
<input type="text" name="text3"><br>
<input type="text" name="text4"><br>
<input type="submit" name="mySubmit" value="d">
<input type="reset" name="resetButton" value="">
</form>
<script type="text/javascript">
document.write(document.myForm.elements[4].type+"<br>");
document.write(document.myForm.elements.length);
function checkF(){
var validFlag = true ;
var nums = document.myForm.elements.length;
for (i=0;i<nums ;i++ ){
if ((document.myForm.elements[i].value == '' || document.myForm.elements[i].value == '') && (document.myForm.elements[i].type != 'reset' || document.myForm.elements[i].type != 'submit' )){
alert("The \""+document.myForm.elements[i].name+"\" is empty");
validFlag = false;
break;
}
}
return validFlag;
}
</script>
Вылетает алерт, хотя по идее условие задано правильно, хотя если код проверки условия изменить на (т.е убрать "|| логич.
или":
if ((document.myForm.elements[i].value == '') && (document.myForm.elements[i].type != 'reset'))
то всё работает(кроме кнопки submit естественно), в чем может быть проблема ведь логическое условие было подобрано верно ?