表單提交方法有三種,主要說下第三種
第一種:用 form 自帶屬性action 提交
第二種:用 jquery 提交:$("#formid").submit();
jquery提交表單有兩種情況:
1:jquery只做提交用。$("form").submit();
這個的表單提交到什麼地方的是更具form元素裡面的action屬性去定義的。
2:jquery用ajax提交資料。
$.ajax(, // 這裡把表單裡面的資料放在這裡傳到後台
datatype:"json",
success:function
(res)
});
第三種:用 ajax 提交:
但如果form表單中資料很多時,不可能一一列出,只需要用
$(『#yourformid』).serialize()就可以了
舉例如下:
$.ajax(,
success: function
(data)
});
這樣的ajax
$.ajax(/public/testupload",
type:"post",
data:,
success:function
(data)
, error:function
(e) });
同樣的,很多人也會。但是寫的越多就越會發現,這樣子雖然可以避免重新整理頁面,但是我們要寫大量的js來到得資料:
var username = $("#username").val();
var password = $("#password").val();
...
如果數量少的話,那還沒有什麼,但是如果資料十分大的話,那就十分的麻煩
,那有沒有什麼簡單的方法呢?答案肯定有的!下面介紹兩種方法,可以極大
的提高開發人員的效率。
方法一:使用formdata物件
注意:formdata可以憑空建立乙個物件,然後往這個物件裡面新增資料,然後
直接提交,不需要寫一行html**。
如下:
var form = new formdata();
req.send(form);
這樣就可以向瀏覽器傳送表單資料了,或者也可以使用jquery這樣傳送:
var form = new formdata();
$.ajax(/public/testupload",
type:"post",
data:form,
processdata:false,
contenttype:false,
success:function
(data)
});
這樣也可以直接傳送資料到後台。
注意:formdata還支援直接從html中的表單生成資料,就是在html頁面中已經有資料了,然後formdata可以直接把這個表單的資料寫入這個物件,然後直接提交給後台。
**如下,先給出html**:
formdata還支援困擾眾多開發者已久的ajax的上傳檔案,以前我們上傳檔案,
需要寫乙個表單直接重新整理提交,但是這裡不需要,下面給出提交**:
function
test
()/public/testupload",
type:"post",
data:form,
processdata:false,
contenttype:false,
success:function
(data),
error:function
(e) });
get();//此處為上傳檔案的進度條
}
使用formdata,在構造這個物件的時候,把表單的物件,作為乙個引數放進去,就可以了,然後formdata,就會得到這個表單物件裡面的所有的引數,甚至我們在表單中,都不需要宣告enctype =」multipart/form-data」 ,就可以直接提交。
總結:formdata的用法及三種提交表單方式
參考部落格:
171202之ajax提交整個form表單 一
簡介 ajax提交form表單在專案中經常用到,前台無論是簡單的html jsp或者使用了easyui框架,提交表單都會使用到ajax。總的來說,ajax提交表單可以分為兩種,一種是無返回結果的,就是把表單資料提交給後台,後台處理完就完了 另一種就是返回有結果的,後台執行成功或者失敗的資訊需要返回到...
171202之ajax提交整個form表單 三
方法二 使用jquery.form.js jquery.form.js是乙個強大的表單外掛程式,其大量的提供了表單操作的各種簡便的方法,下面給出一些jquery.form.js的說明 它也支援對乙個表單的ajax提交,而且提交方式更為簡便,如下 html 下面使用jquery.form.js的表單外...
Ajax提交整個表單
在專案開發中,有時提交form表單時不能單單用action或者jquery的 表單提交方法有三種,主要說下第三種第一種 用form自帶屬性action提交第二種 用jquery提交 formid submit 第三種 用ajax提交 但如果form表單中資料很多時,不可能一一列出,只需要用 your...