Extjs之表單提交


Extjs的三種提交方式:

表單Ajax提交,普通提交,單獨Ajax提交;

  1. 表單Ajax提交(默認提交方式)

              提交函數:當按下表單中的提交按鈕時執行下面的 btn函數,按照表單的 name進行提交。

                            根據后台返回值不同回調success或者failure函數(與單獨ajax提交不同)。

                             如果返回outputResult("{success:true}"),調用success函數,

                             如果返回outputResult("{success:false,reason:'"+e.getCause()+"'}");則調用failure函數

               function btn(){

               form.getForm.submit({

               method:'POSt',

               params:{},

               url:"",

               success:function(form,action){        

                //Ext.Msg.alert(‘信息’,”提示:”+”response.responseText”);//加粗體是得到后台的具體返回信息。

                 Ext.Msg.alert(‘提示’,”數據修改成功”);// 成功提示信息

                 store.load(); // 重新加載數據

               },

               failure:function(form,action){

               Ext.Msg.alert('提示','跳轉失敗');

                }

               });

               }

          2.普通提交:按照表單中的name提交。   

Form. = new Ext.FormPanel({

……..// form的屬性

submit:function(){

this.getEl().dom.action =’url’;// 提交的url

this.getEl().dom.method = ‘post’;

this.getEl().dom.submit();

},

});

當按提交按鈕時,執行下面函數:

function btn (){

Form.form.submit();

}

3.extjs的普通ajax提交:

當按下提交按鈕是執行次函數:(注意:不能對form表單提交,也就是說也不能按form中的表單的name提交,只能提交params中的參數。只要能夠提交到后台不管數據能否正確執行就回調success函數,如果網絡有故障,或者頁面有錯誤數據到不了后台,就執行failure函數。

后台返回值的形式:【如果數據處理成功返回outputResult(“{success:true,’……..’}”)。如果數據處理失敗返回:outputResult(“{success:false,reason:’”+e.getCause() +”‘}”);】

我們一般要求是:數據處理成功后顯示成功信息,失敗后顯示失敗信息。

但是這種提交不管返回什么值,都會執行success函數。所以不能滿足我們的要求。為了解決這個矛盾我們有一下方法:

我們在js頁面中的success函數中取得返回值,我們對返回值進行判斷,如果success是true我門就打印成功信息,如果success是false我們就打印失敗的提示。

取得返回值:var responseArray = Ext.util.JSON.decode(response.responseText); 判斷如下:

function btn(){

…..// 定義url,也可以在方法外面

Ext.Ajax.request({

url:url,// 要跳轉的url,此為屬性必須要有

method:’post’,

params:{}, // 提交參數

success: function(response, options)

{

var responseArray = Ext.util.JSON.decode(response.responseText);

if(responseArray.success==true)

{

Ext.example.msg(‘提示’, ‘數據保存成功’);

}

else{

Ext.Msg.alert(‘錯誤’, responseArray.reason);

}

}

failure:function(response,options)

{

Ext.Msg.alert(‘警告’,”數據處理錯誤原因\”+response.responseText);

}

});

}

json數據格式

{"success":"true","data":{"id":"49","name":"12344553252","description":"adffafdadf"}}

格式很重要,格式正確才能夠在form里面讀出來。           


免責聲明!

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



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