在ajax验证中调用javascript

在ajax验证中调用javascript,javascript,ajax,Javascript,Ajax,我有两个密码输入字段: <input class="form-control" type="password" name=password placeholder="Password"/> 这是我的html代码的一部分: <form id="myform" action="add_user.php" method="POST"> <div class="form-group"> <input class="form-

我有两个密码输入字段:

<input class="form-control" type="password" name=password placeholder="Password"/>
这是我的html代码的一部分:

<form id="myform" action="add_user.php" method="POST">
        <div class="form-group">
          <input class="form-control" type="text" id="username" name="username" placeholder="Username"/>
        </div>
        <div class="form-group">
          <input class="form-control" type="password" id="password-input" name="password" placeholder="Password"/>
        </div>
        <div class="form-group">
          <input class="form-control" type="password" id="password-confirm-input" placeholder="Confirm Password" onblur=";"/>
        </div>
        <div class="form-group">
          <input class="form-control" type="text" placeholder="User Type"/>
        </div>
        <div class="form-group" id="msg">
          <input class="form-control" type="text" name=email placeholder="E-mail Address"/>
          <label id="label" for="male">Male</label>
        </div>
        <br>
        <div class="form-group pull-right">
          <input class="btn btn-success" id="create_user" value="Create User"/>
          <input class="btn btn-success" type="submit" id="create_user2" value="Create User"/>
        </div>

男性


此代码不进行验证

我不确定为什么需要ajax来比较密码。您可以在javascript中实现这一点

假设
password
password2
是文本框的Id值,
save
是按钮的Id值,单击按钮将触发比较

$(function(){

  $("#save").click(function(e){
    e.preventDefault();
    var p1=$("#password").val();
    var p2=$("#password2").val();
    $("#msg").html("");
    if(p1!==p2)
    {
        $("#msg").html("Passwords do not match");
    }     
  });      

});
这是一个工作样本


编辑:根据OP的评论

您的验证没有启动的原因是由于两个问题

1) jquery单击事件注册到id为
create\u user
#create\u user
)的元素,但在HTML标记中,按钮的id为
create\u user2

2) 这里有一个语法错误。您正在关闭不应关闭的功能(在
e
之后)

$("#create_user").click(function(e)) {
因此,解决方案是更正js代码以使用正确的按钮id,并修复语法错误

$(function(){      

   $("#create_user2").click(function(e) {

      e.preventDefault();
      var password = $("#password-input").val(); 
      var password_confirm = $("#password-confirm-input").val();

      $("#label").html("");
      if (!password.length || password != password_confirm ) {
        $("#label").html("Passwords do not match");
      }

    });      

});

是这方面的工作示例。

@AdelAhmed您的代码有语法错误。查看我的更新答案。是的,它正在工作,但我现在无法使用:(有任何修复方法吗?请在验证结束后调用
$(“#YourFormId”)。提交()
。请提供正在发生的任何错误。(F12)。如果没有错误,请逐步查看代码以查看其停止的位置。
$("#create_user").click(function(e)) {
$(function(){      

   $("#create_user2").click(function(e) {

      e.preventDefault();
      var password = $("#password-input").val(); 
      var password_confirm = $("#password-confirm-input").val();

      $("#label").html("");
      if (!password.length || password != password_confirm ) {
        $("#label").html("Passwords do not match");
      }

    });      

});