HTML5自定义验证无法正常工作

时间:2014-05-04 18:55:00

标签: javascript html5 forms validation

我有以下功能来验证2个密码输入字段之间的匹配。 当我提交表格即使密码匹配我得到错误,我不明白问题在哪里。 你们看看吗? 感谢

function checkPwdMatch() {

if (document.getElementById('password').value !=document.getElementById('confirm_password').value) {
document.getElementById('confirm_password').setCustomValidity('Two Passwords must match.');
} else {
document.getElementById('confirm_password').setCustomValidity('');
}

}

---- FORM FIELDS ----

<input class="form-control" type="password" placeholder="Password" id="password" name="password" value="" required>

<input class="form-control" type="password" placeholder="<?php echo $lang["joinRepeatPassword"]?>" value="" id="confirm_password" name="confirm_password"  required>

1 个答案:

答案 0 :(得分:0)

您确定html代码中没有其他具有相同ID(密码或confirm_password)的元素吗?


当我有这样的HTML

<!doctype html>
<html>
<head>
<script>


function checkPwdMatch() {

if (document.getElementById('password').value !=document.getElementById('confirm_password').value) {
document.getElementById('confirm_password').setCustomValidity('Two Passwords must match.');
} else {
document.getElementById('confirm_password').setCustomValidity('');
}

}
</script>
</head>
<body>
<form method="post">
<input class="form-control" type="password" placeholder="Password" id="password" name="password" value="" required>

<input class="form-control" type="password" placeholder="password copy" value="" id="confirm_password" name="confirm_password"  onblur="checkPwdMatch()"  required>


<input type="submit" />
</form>
</body>
</html>

如果我将aaa和bbb放在两个输入中,则显示它们无效,当我放入aaa和aaa时,一切似乎都没问题。如果问题出在您发送表单和页面刷新之后,您需要发送更多我认为的详细信息。