Py学习  »  Jquery

表单验证完成后显示模态的Jquery代码

Sole • 4 年前 • 291 次点击  

从这个问题开始: Previous question

我的表单上有表单验证,需要先验证,即最少字符和数字等。

所以我需要表单有输入和验证,然后模式弹出,用户必须接受条款和条件,然后他们可以注册。

我试过以下方法,但没有成功:

$(document).ready(function() {
  $("#login-form").submit.valid(function(e) {
    e.preventDefault();
    $(".modal").addClass("active");
  });
});

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/53071
 
291 次点击  
文章 [ 3 ]  |  最新文章 4 年前
Ande Caleb
Reply   •   1 楼
Ande Caleb    5 年前

你可以在你的表格上。。。

<form id="myform" action=".." method=".." onsubmit="return validateForm(this);"> 
.....
</form>

现在假设您正在使用jquery表单验证插件

function validate(formObj){
  v = $(formObj).validate({ // initialize the plugin
        rules: {  //enter additional rules.
           input1: {required: true, email:true},   
           input2: {required: true, integer:true}
        },
        submitHandler: function(formObj) {
          $('#myform').removeAttr('onsubmit');   //remove the onsubmit attr..              
          $(modal).addClass('active');    //then show the modal here.. 

        }
      });
  return false; //which stops the form from submitting.. 
}

现在让我们假设模式已经弹出,用户已经接受了协议并单击了agree按钮,然后触发表单并发送它

function sendFromModal(){
  $('#myform').submit();
   return true; //
}

Jose FG
Reply   •   2 楼
Jose FG    5 年前

valid() 不接受任何参数,只返回true。使用 validate() 而是使用处理程序。

$("#yourform").validate({
  submitHandler: function(form) {
    // ...
    form.submit();
  }
});
Pete
Reply   •   3 楼
Pete    5 年前

您应该在提交事件中使用if:

$("#login-form").submit(function(e) {
  e.preventDefault();
  if ($(this).valid()) {            // this assumes you are using something like jquery validate - from  your original code, it looks like you were attempting to do this
    $(".modal").addClass("active");
  } else {
    // do error stuff here
  }
});