它在第51行给我一个错误
<!DOCTYPE html>
<html>
<head>
<title>Validation</title>
</head>
<body>
<div style="width:500px;height:500px;padding-right:auto;padding-left:auto;">
<form action="#" method="get" onsubmit="return FormValidation();">
<label>Current Password</label>
<input type="text" name="pass" id="pass" maxlength="16" required><br>
<label name="notif"></label>
<input type="submit" name="submit">
</form>
<script type="text/javascript">
function FormValidation(){
var passw = "against";
var opass = document.getElementById("pass").value;
if(opass != passw) {
document.getElementById("notif").innerHTML = "Your password doesn't match.";
alert('pass now match');
return false;
}
else{
document.getElementById("notif").innerHTML = opass + " " + npass + " " + rpass;
}
}
</script>
</div>
</body>
</html>
有什么建议为什么会有错误?我只想确定密码是否正确并在标签上通知它。
document.getElementById("notif").innerHTML = "Your password doesn't match.";
此表单为我的网站忘记了密码。我们和我的团队正在开发一个带有用户帐户的网站,以及一个用于贷款合作社的网站。
答案 0 :(得分:2)
这找不到任何东西:
document.getElementById("notif")
因为没有id
的元素。因此,这不返回任何内容,并且您无法访问未定义对象上的属性。
最简单的直接方法可能是为您的目标元素提供您正在寻找的id
值。我猜你的意思是这个元素:
<label name="notif" id="notif"></label>
事实上,label
可能根本不需要name
属性。但是我觉得这取决于你。
修改或者,如果您想避免修改标记,可以use document.querySelector
instead:
document.querySelector('input[name="notif"]').innerHTML
答案 1 :(得分:0)
您需要更改此行:
<label name="notif"></label>
到此:
<label id="notif"></label>
如果必须保留name属性,可以尝试jQuery:
$("label[name='notif']").html('Your message');