• Validator验证Ajax提交表单的方法


    当我们在一些稍微复杂的业务时,可能会遇到需要多个表单form在同一个页面的情况,但是提交一个表单以后不想页面刷新或者跳转,那么我们考虑到的就是Ajax提交表单,那么如何让Jquery的validator插件也可以对异步提交的表单进行验证呢?我们继续往下看。 

    在这里,我就用网络上的一个例子来说明好了。
     

    下面是一个比较常见的jquery .ajax提交表单的写法 
    $("#submitButton").click(function(){
    //序列化表单
       var param = $("#leaveSave").serialize();
       $.ajax({
          url : "leaveSave.action",
          type : "post",
          dataType : "json",
          data: param,
          success : function(result) {
    if(result=='success') {
    location.href='allRequisitionList.action';
    } else if(result.startWith("error_")){
    $("#errorMessage").html(result.substring(6));
    } else {
    //返回的结果转换成JSON数据
    var jsonObj = eval('('+result+')');
    startTime = $("#startdate").val();
    endTime = $("#enddate").val();
    hour = jsonObj.hour;
    reason = jsonObj.reason;
    
    replaceDom(startTime,endTime,hour,reason);
    }
    }
    });
    }); 
    如果想用ajax提交表单,还想用jquery的validate进行验证,那么可以这样解决:表单还是正常编写的表单内容,type还是submit类型,只不过在validate验证通过后的方法中使用ajax提交表单 
    $("#saveWorkExtra").validate({
    onsubmit:true,// 是否在提交是验证
    onfocusout:false,// 是否在获取焦点时验证
    onkeyup :false,// 是否在敲击键盘时验证
    
    rules: {
    ....
    },
    messages:{
    ....
    },
    submitHandler: function(form) {  //通过之后回调
         var param = $("#saveToWorkExtra").serialize();
         $.ajax({
    url : "workExtraChange.action",
    type : "post",
    dataType : "json",
    data: param,
    success : function(result) {
    if(result=='success') {
              location.href='allRequisitionList.action';
    } else {
              var jsonObj = eval('('+result+')');
    }
    }
         });
             },
             invalidHandler: function(form, validator) {  //不通过回调
           return false;
              }
    }); 
  • 相关阅读:
    elk中fliebeat的配置文件
    elk 中kafka启动脚本和配置文件
    启动多个logstash脚本
    当使用makemigrations时报错No changes detected
    MySQL5.7.23解压版安装教程
    linux shell变量的截取
    删除mysql数据库中表分区数据
    powershell 定时删除脚本
    利用WinRAR命令行压缩文件或文件夹
    Date对象和正则对象
  • 原文地址:https://www.cnblogs.com/peterpanzsy/p/3584335.html
Copyright © 2020-2023  润新知