我正在Web应用程序中进行一些基本验证,该验证检查密码的值并确认密码字段是否匹配。如果不是,单击提交按钮时,我的代码会将两个类添加到两个字段,并显示一条错误消息。

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

  if( $("#confirmpassword").hasClass('has-error') &&  $("#password").hasClass('has-error') ){
      e.preventDefault();
  }

 var pass1 = $("#password").val();
 var pass2 = $("#confirmpassword").val();

  if(pass1 != pass2){
      $("#password").addClass('has-error');
      $("#confirmpassword").addClass('has-error');
       $("<p class='errorMsg'>The Password and confirm password fields do not match </p>").insertAfter("#confirmpassword");
       return false;
 }

 });


问题是,如果多次单击提交按钮,则会多次添加使用insertAfter添加的消息。我在这里检查了类似的问题,并试图使其自己工作,但没有运气。

我想念什么?谢谢

最佳答案


if($("p.errorMsg").length==0)
    $("<p class='errorMsg'>The Password and confirm password fields do not match </p>").insertAfter("#confirmpassword");
else
    $("p.errorMsg").html(" Any other error if you want to display then set it as HTML ");

仅当p先前未插入时,才会插入。

关于javascript - 多次停止触发jQuery insertAfter,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34319841/

10-12 13:14