執行個體詳解jQuery Validator驗證Ajax提交表單的方法和Ajax傳參的方法

來源:互聯網
上載者:User
本文主要介紹了jQuery Validator驗證Ajax提交表單的方法和Ajax傳參的方法,在文中還給大家提到了jquery .ajax提交表單的寫法,具體執行個體代碼大家參考下本文,希望能協助到大家。

serialize() 方法通過序列化表單值,建立 URL 編碼文本字串。代替了一個一個傳參的方式。

以往寫的ajax傳參方式

$.ajax({         url : "${ctx}/SJStandardDamPartition/insertOrUpdateDamPartition",         type : "post",         dataType : "json",         data: {beginsectionid:function(){              return $('#number option:selected').val();            },            beginelevation:function(){              return $('#onset').val();            },            endelevation:function(){              return $('#end').val();            }        },         success : function(result) {         }       });

用serialize()的傳參方式

 var param = $("#standForm").serialize();        $.ajax({         url : "${ctx}/SJStandardStandardInfo/insertOrUpdateStandardInfo",         type : "post",         dataType : "json",         data: param,         success : function(result) {         }       });

當我們在一些稍微複雜的業務時,可能會遇到需要多個表單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;      } });

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.