標籤:style io os 使用 ar for 資料 sp on
ajax提交表單在項目中常用,前台無論是簡單的html、jsp或者是使用了easyui架構,提交表單都會使用到ajax,extjs架構其實也是使用了ajax只不過對其進行了封裝了,我們使用的時候就更固定了些。
總的來說ajax提交表單可以分為兩種,一種是無返回結果的,就是將表單資料提交給後台,幕後處理完就完了;另一種就是有返回結果的,後台執行成功或失敗的資訊需要返回到前台。
1,無返回結果的
最簡單的就是$("#formid").submit();直接將form表單提交到後台。
2,有返回結果的
這種方式是使用最多的一種,因為程式的執行成功與否都需要給使用者提示,程式一般也都是多步完成的,執行完插入操作,需要發起流程,這就需要在介面上判斷成功與否。
ajax本身屬於有返回結果的一類,其中的success方法就是處理後台返回結果的。
ajax提交表單有返回結果的有兩種實現方式:
1)將form表單資料序列化
$.ajax({type: "POST",url:your-url,data:$('#yourformid').serialize(),async: false,error: function(request) {alert("Connection error");},success: function(data) {//接收後台返回的結果} });
這種方式需要注意的是form表單中的項一定要有name屬性,後台擷取的鍵值對為key=name值,value=各項值,注意無論是input標籤還是span或者是其他標籤,一定要有name屬性,沒有name屬性後台是擷取不到該項的
2)通過視窗尋找form提交
// 提交表單 var obj = document.getElementById("xx_iframe").contentWindow; obj.$("#yourform").form("submit",{success :function(data){//對結果處理} });
我使用easyui dialog對話方塊插入資訊時使用過這種提交方式,因為在當前介面上彈出對話方塊,然後在對話方塊上的按鈕觸發對話方塊中表單提交,對話方塊又是連結的另外的html頁面,如此通過$("#formid")的方式是找不到對話方塊中的form的,因此這種情況下只能使用這種方式提交表單。
另外ajax中封裝的get,post請求也都屬於有返回結果的一類。
現在遇到的例子也就這些,以後遇到新形式的再補充上來。。
ajax提交表單