下面是表单验证脚本的简化代码片段。它不起作用......
提交表单后,用户已离开" inputfield"空,第一个警报弹出。用户在" inputfield"中输入内容后,当用户单击提交时会弹出第二个警报。
之后,脚本应返回false并继续验证。我需要将两个警报包括在同一个其他内容中。我究竟做错了什么?警报未显示,表单验证忽略了这部分代码...
} else if (myform.inputfield.value=="") {
alert ('Please enter something in the text field!');
}
if (myform.inputfield.value!=="") {
alert ('Thank you for entering something in the field!');
return false;
}
答案 0 :(得分:1)
我同意使用document.getElementById或jQuery $('#input1')。val()
<script type="text/javascript">
function validate() {
if (document.getElementById('input1').value == "") {
alert('Please enter something in the text field!');
}
if (document.getElementById('input2') !== "") {
alert('Thank you for entering something in the field!');
return false;
}
}
</script>
</head>
<body>
<form onsubmit="return validate()">
<input id="input1" />
<input id="input2" />
<input type="submit" value="OK" />
</form>
</body>
您可能在指定的代码行之前有一个return语句吗?
答案 1 :(得分:1)
声明一个标志并将其作为结果返回是不是更好?考虑以下样本:
var validationResult = true;
...
} else if (myform.inputfield.value=="") {
validationResult = false;
alert ('Please enter something in the text field!');
}
if (myform.inputfield.value!=="") {
alert ('Thank you for entering something in the field!');
validationResult = false;
}
return validationResult;