Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/408.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在jQuery中使用unbindshow方法?_Javascript - Fatal编程技术网

Javascript 如何在jQuery中使用unbindshow方法?

Javascript 如何在jQuery中使用unbindshow方法?,javascript,Javascript,当用户在用户注册表的输入字段中输入两个不同的密码时,我试图显示密码不匹配错误,但在我的程序中,它在输入字段中显示了错误消息。在我的程序中,取消绑定方法不起作用 HTML: <form action="adduser.php" method="POST" id="registerCandidates" enctype="multipart/form-data"> <div class="form-group"> <input class="form-contro

当用户在用户注册表的输入字段中输入两个不同的密码时,我试图显示密码不匹配错误,但在我的程序中,它在输入字段中显示了错误消息。在我的程序中,取消绑定方法不起作用

HTML:

   <form action="adduser.php" method="POST" id="registerCandidates" enctype="multipart/form-data">
<div class="form-group">
<input class="form-control input-lg" type="password" id="password" name="password" placeholder="Password *" required>
</div>
<div class="form-group">
<input class="form-control input-lg" type="password" id="cpassword" name="cpassword" placeholder="Confirm Password *" required>
</div>
<div id="passwordError" class="btn btn-flat btn-danger hide-me" >
Password Mismatch!!
</div>
<div class="form-group">
<button type="submit" class="btn btn-flat btn-success" name="register">Register</button>
</div>
</form>
Jquery:

   <script type="text/javascript">
$(document).ready(function(){
  $("#registerCandidates").bind("submit", function(e) {
    e.preventDefault();
    if( $('#password').val() != $('#cpassword').val() ) 
    {
      $('#passwordError').show();
    }
    else 
    {
      $(this).unbind('submit').submit();
    }
  });
  });
</script>
图像这是我的用户注册表图像:


你不需要解开带子。当您希望允许表单提交时,请避免调用e.preventDefault。因此,将该调用放在验证失败的if分支中

  $("#registerCandidates").bind("submit", function(e) {
    if( $('#password').val() != $('#cpassword').val() ) 
    {
      $('#passwordError').show();
      e.preventDefault();
    }
  });
当用户在提交失败后编辑密码字段时,应隐藏错误消息

$("#password, #cpassword").on("input", function() {
    $("#passwordError").hide();
});
这是完整的工作代码

$registerCandidates.bindsubmit,函数E{ 如果$'password.val!=$'cpassword.val{ $'passwordError'。显示; e、 防止违约; } }; $password,cpassword.oninput,函数{ $passwordError.hide; }; .把我藏起来{ 显示:无; } 密码不匹配!! 登记
我正在尝试此代码,但它不起作用,如果你能在上面看到我的用户注册表图像,它显示的是同一条消息,我的显示方法无法解除绑定。如果你不想显示消息,请使用$passwordError.hide。我已更新了答案。当用户编辑密码字段时,您应该隐藏错误消息。我不知道为什么它对您不起作用。我已经添加了一个堆栈片段,显示它是有效的。这段代码现在正在工作,我在密码或cpassword的id上有拼写错误