serialize()、serializeArray()方法都是jquery用戶序列化表單的,用于ajax提交的data值的序列化

創(chuàng)新互聯(lián)公司主要從事成都做網(wǎng)站、成都網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)阿爾山,10多年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):18982081108
在chrome的控制臺(tái)我們很清楚的看到了serializeArray()返回的是json數(shù)組,數(shù)組的每個(gè)對(duì)象都是有json字符串構(gòu)成,我們可以看到,每個(gè)json字符串包括兩個(gè)鍵值對(duì),每個(gè)鍵值對(duì)都是有name,value組成,其實(shí)serializeArray()它把表單里的每個(gè)需要提交的dom的name的值賦給json字符串的name,dom的value的值賦給json字符串的value.
那么我們只需這要添加額外的內(nèi)容:
var dataParam = $("#updateChannelForm").serializeArray();
例如我想添加sex="男"
dataParam.push({"name":"sex","value":"男"}) 就可以了
我們看到serialize()方法把表單里的內(nèi)容序列化成了字符串
"id=58channelType=2subTitle=591teststetetsextAttrValueId=599"
那么我們只需這要添加額外的內(nèi)容:
var dataParam = $("#updateChannelForm").serialize();
例如我想添加sex="男"
dataParam =dataParam +""+"sex=男"
jquery表單提交數(shù)據(jù)的方法有兩種:
一種是直接提交,調(diào)用submit()方法,
第二種是用ajax提交,ajax提交要注意講數(shù)據(jù)序列化。
比如:
1、調(diào)用submit()方法
$(表單).submit();
2、ajax提交
$.ajax({
url: url,
data: $(表單).serialize(),
type: 'post',
success: function (data) {
}
});
HTML
因?yàn)楸救藳]用過jQuery,所以前期寫了一堆事件,做了一些調(diào)試工作...
后邊要使用到 name 做判斷
HTML
JS
網(wǎng)頁
注意:
radio 和 checkbox 中的 value 不止一個(gè)。
若要把多個(gè)數(shù)據(jù)填充給一個(gè) key ,是需要使用數(shù)組存放數(shù)據(jù)的。
第一次寫的時(shí)候沒考慮到 radio 和 checkbox 的數(shù)據(jù),就直接使用字符串賦值了。
后來調(diào)試的時(shí)候發(fā)現(xiàn),不管多選框中選擇多少個(gè)項(xiàng), hobby 的 value 始終是最后一個(gè) checkbox 的 value ....
使用數(shù)組,首先就要初始化對(duì)象。
因?yàn)槭褂? Array 對(duì)象的 push() 方法可以很方便的向后插入數(shù)據(jù)...
名稱欄目:jquery表單數(shù)據(jù),jquery獲取表單的值
文章起源:http://chinadenli.net/article4/dsedjie.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、Google、軟件開發(fā)、ChatGPT、、App設(shè)計(jì)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)