function confirmValidation() {
var confirmPass = document.getElementById('newpassword').value;
var newpass = document.getElementById('newpassword2').value;
var passLength = confirmPass.length;
if ((confirmPass == newpass) && (confirmPass != "" && newpass != "") && (passLength > 8)) {
alert("ok");
return true;
} else {
alert("no");
confirmPass.focus();
return false;
}
}
并输入:
<input name="register" type="submit" class="alert_button" onclick="return confirmValidation()" value="OK" />
答案 0 :(得分:3)
要使return
方法起作用,您需要为onSubmit
标记本身指定form
属性/侦听器。像这样:
<form method="post" onsubmit="return confirmValidation();">
<!-- OTHER form fields -->
</form>
来自w3c文档:
提交表单时发生
onsubmit
事件。它仅适用于FORM元素。
jsfiddle link已添加。
您必须稍微更改一下JavaScript,以便.focus()
可以触发。
function confirmValidation() {
var confirmPass = document.getElementById('newpassword');
var newpass = document.getElementById('newpassword2');
var passLength = confirmPass.value.length;
if ((confirmPass.value == newpass.value) && (confirmPass.value != "" && newpass.value != "") && (passLength > 8)) {
alert("ok");
return true;
} else {
alert("no");
confirmPass.focus();
return false;
}
}
答案 1 :(得分:1)
将验证移至表单。
document.getElementById('my_form').addEventListener('submit', confirmValidation, false);
答案 2 :(得分:0)
您应该在标记中使用onsubmit()事件。现在,当您提交表单时,它将调用onsubmit()事件中写入的函数。只有在Onsubmit()的情况下,它会检查返回值是否为真,然后它会继续进行,否则不会。
<form method="post" onsubmit="return confirmValidation();">
</form>