jquery validate驗證插件,在ajax提交方式下的驗證


正常的表單都是使用submit按鈕來提交,jquery  validate插件可以方便的做表單驗證。

要做一個發送短信的功能,向目標表插入多條記錄,界面采用ajax來提交表單,等待效果直接用ext的遮罩了。

但是如何驗證卻碰到問題。

解決方式很簡單,表單跟正常表單一樣,validate的submitHandler,invalidHandler這2個方法都需要覆蓋,都return false;這樣表單就不會在點擊按鈕的時候提交了,表單驗證跟正常驗證起作用。submitHandler在return 之前寫上我們的表單處理代碼就ok了。

代碼如下,可以忽略ext相關代碼。

 1 //表單驗證
 2     $("#query").validate({
 3         onkeyup  : false,
 4         onclick  : false,
 5         onfocusout : false,
 6             rules : {
 7                 msg : {
 8                     required    : true,
 9                     maxlength    : 10
10                 } 
11             },
12             messages:{
13                 msg:{
14                     required    : '請輸入短信內容!',
15                     maxlength    : '長度超過10!'
16                 } 
17             },
18             showErrors : function(errorMap, errorList) {
19                 var msg = "";   
20                 $.each(errorList, function(i,v){   
21                   msg += (v.message+"\r\n");   
22                 });   
23                 if(msg!="")
24                 Ext.Msg.alert('表單',msg + fix);
25             },
26             invalidHandler : function(){
27                 return false;
28             },
29             submitHandler : function(){
30                 //表單的處理
31                 Ext.Msg.confirm("確認", "是否確認發送?" + fix, function(button,text){   
32                    if(button == 'yes'){
33                            loadMarsk.show();
34                            $.ajax({
35                                url:'<%=basePath %>promotionAction.do?method=group',
36                                dataType:'json',
37                                type:'post',
38                                data:$('#query').serialize(),
39                                error:function(){
40                                    Ext.Msg.alert('錯誤','請求錯誤!' + fix);
41                                    loadMarsk.hide();
42                                },
43                                success:function(data){
44                                    Ext.Msg.alert('成功',data.msg + fix);
45                                    loadMarsk.hide();
46                                }
47                            })
48                    }
49                 } );   //confirm
50                 return false;//阻止表單提交
51             }
52         });

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM