亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術(shù)文章
文章詳情頁

Javascript表單序列化原理及實(shí)現(xiàn)代碼詳解

瀏覽:85日期:2023-10-09 18:48:31

隨著 Ajax 的出現(xiàn),表單序列化已經(jīng)成為一種常見需求。在 JavaScript 中,可 以利用表單字段的 type 屬性,連同 name 和 value 屬性一起實(shí)現(xiàn)對(duì)表單的序列化。在編寫代碼之前, 有必須先搞清楚在表單提交期間,瀏覽器是怎樣將數(shù)據(jù)發(fā)送給服務(wù)器的。

​1. 對(duì)表單字段的名稱和值進(jìn)行 URL 編碼,使用和號(hào)(&)分隔。

2. 不發(fā)送禁用的表單字段。

3. 只發(fā)送勾選的復(fù)選框和單選按鈕。

4. 不發(fā)送 type 為'reset'和'button'的按鈕。

5. 多選選擇框中的每個(gè)選中的值單獨(dú)一個(gè)條目。

6. 在單擊提交按鈕提交表單的情況下,也會(huì)發(fā)送提交按鈕;否則,不發(fā)送提交按鈕。

7. <select>元素的值,就是選中的<option>元素的 value 特性的值。如果<option>元素沒有 value 特性,則是<option>元素的文本值。

在表單序列化過程中,一般不包含任何按鈕字段,因?yàn)榻Y(jié)果字符串很可能是通過其他方式提交的。除此之外的其他上述規(guī)則都應(yīng)該遵循。

基本的表單序列化可以通過遍歷表單元素實(shí)現(xiàn),實(shí)例代碼如下:

function serialize(form){ var params = []; var eles = form.elements; for (var i = 0;i<ele.length;i++){ let field = ele[i]; switch(field.type){ case 'file': case 'submit': case 'reset': case 'button': break; case 'radio': case 'checkbox': if(!field.checked){ break; } default: //不包含沒有名字的表單字段 if (field.name.length){ parts.push(encodeURIComponent(field.name) + '=' + encodeURIComponent(field.value)); } } } return parts.join('&');}

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: JavaScript
相關(guān)文章:
主站蜘蛛池模板: 91视在线国内在线播放酒店 | 亚洲精品美女 | 一级a俄罗斯毛片免费 | 亚州综合激情另类久久久 | 97视频免费看 | 99精品视频一区在线视频免费观看 | 在线播放成人毛片免费视 | 欧美人超级乱淫片免费 | www成人国产在线观看网站 | 理论片我不卡在线观看 | 欧美日韩色视频在线观看 | 日韩视频网| 亚洲日本色图 | 亚洲大片| 在线一区二区三区 | 国产精选自拍 | 欧美日韩在线播放成人 | 99草在线观看 | 黄色片子网站 | 美日韩免费视频 | 国产原创在线观看 | 亚洲码欧美码一区二区三区 | 海天翼精品一区二区三区 | 欧美日韩在线永久免费播放 | 黄色三级视频片 | 欧美色片在线观看 | 亚洲第一视频网站 | 日本一级二级三级久久 | 国产精品第一页爽爽影院 | 一级α片 | 国产在线精品一区二区夜色 | 免费人成在线观看视频不卡 | 日本中出视频 | 亚洲第一区视频在线观看 | 亚洲综合亚洲综合网成人 | 亚洲国产精品久久精品成人 | 国产毛片一区二区三区 | 亚洲国产综合精品中文第一区 | 免费黄色小视频在线观看 | 国产一级第一级毛片 | 久久婷婷成人综合色 |