谁能告诉我我做错了什么?我的comparePasswords()无效...
<script>
function comparePasswords()
{
if (post-form.password.value != post-form.password2.value)
{
$('passwordShow').innerHTML = '';
}
else
{
$('passwordShow').innerHTML = 'Passwords do not match';
}
}
</script>
<form id="post-form" action="signup.php" method="post" >
<input type="password" id="password" name="password" onkeyup="testPassword(this.value);" maxlength="50" size="25" tabindex="102" value="">
<input type="password" id="password2" name="password2" onkeyup="comparePasswords();" maxlength="50" size="25" tabindex="104" value="">
</form>
答案 0 :(得分:1)
你需要使用
document.getElementById('password').value
和
document.getElementById('password2').value
另外,你的逻辑错了。如果密码不匹配,将触发第一个条件块。
修改强>
似乎你正在使用jQuery,所以只需使用
$('#password').val()
获得该字段的值。
您还应该使用jQuery(也可以)使用html()
方法设置innerHTML
答案 1 :(得分:1)
问题在于您如何访问表单对象。
post-form.password
对于javascript引擎,这与此相同:
post - (form.password)
此外,您必须为表单提供name
属性(而不仅仅是id)才能以这种方式访问它。如果您想通过名称访问它,您可以使用以下内容:
document['post-form'].password
或者通过id:
document.getElementById("post-form");
答案 2 :(得分:0)
你的if中的测试是向后的。第一个分支是测试两个密码是否彼此不相等。