如何禁用submit按钮,直到密码字段在Javascript中匹配为止?

如何禁用submit按钮,直到密码字段在Javascript中匹配为止?,javascript,Javascript,我有以下javascript: <script type="text/javascript"> function PassCheck() { var password = document.getElementById('password'); var vpassword = document.getElementById('vpassword'); if(password.value!= vpassword.value){ d

我有以下javascript:

 <script type="text/javascript">

    function PassCheck() {

    var password = document.getElementById('password');
    var vpassword = document.getElementById('vpassword');

    if(password.value!= vpassword.value){
        document.getElementById("button1").disabled = true;  
    }
        }  

</script>

函数密码检查(){
var password=document.getElementById('password');
var vpassword=document.getElementById('vpassword');
if(password.value!=vpassword.value){
document.getElementById(“button1”).disabled=true;
}
}  
HTML代码:

    Password: <input type="password" name="password" id="password" required onchange='PassCheck();'/> <br>
    Verify Password: <input type="password" name="vpassword" required id="vpassword" onchange='PassCheck();'/> <br>
  <input type="submit" value="Submit" id="button1" name="submit" onchange='PassCheck();'/>
密码:
验证密码:

“提交”按钮仅在第一次被禁用,“取消分配”按钮在第二次尝试后不起作用。我不知道为什么它不起作用。请帮忙!提前谢谢

您只需添加一个
else
条件,在值匹配后重新启用按钮:

函数密码检查(){
var password=document.getElementById('password');
var vpassword=document.getElementById('vpassword');
if(password.value!=vpassword.value){
document.getElementById(“button1”).disabled=true;
}
否则{
document.getElementById(“button1”).disabled=false;
}
}
密码:
验证密码:

onchange
仅在元素失去焦点时发生,因此请尝试使用
onkeyup
oninput
事件。另外,不要忘记将
禁用设置为
false

函数密码检查(){
var password=document.getElementById('password');
var vpassword=document.getElementById('vpassword');
document.getElementById(“button1”).disabled=password.value.length==0 | |
password.value!=vpassword.value;
}
密码检查()
密码:
验证密码:

我同意OP应该使用
onkeyup
。这个解决方案更好。