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

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

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

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

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

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

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

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

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

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

6. 在單擊提交按鈕提交表單的情況下,也會發(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)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: JavaScript
相關(guān)文章:
主站蜘蛛池模板: 香蕉tv亚洲专区在线观看 | 中国黄色片网站 | 久久精品国产国产精品四凭 | 9久re在线观看视频精品 | 色综合小说久久综合图片 | 亚洲综合17p| 黄 色 片 在 线 看 | 国产做爰免费视频观看 | 日韩精品在线观看视频 | 色婷婷激婷婷深爱五月老司机 | 色综合色综合色综合色综合 | 国产福利在线观看第二区 | 国产在线19禁免费观看国产 | 久久国产在线观看 | 成年午夜性爽快免费视频不卡 | 黄网在线观看 | 欧美色图影院 | 国产在线黄 | 亚洲综合电影 | 我要看黄色一级毛片 | 国产成人免费观看在线视频 | www.黄色大片 | 欧美国产成人精品一区二区三区 | 91麻豆传传媒波多野衣久久看 | 2020天堂中文字幕一区在线观 | 日韩视频福利 | 亚洲性69影院在线观看 | 欧美一级二级三级视频 | 国产一区二区三区日韩欧美 | 久久色播 | 日本69色视频在线观看 | 免费高清a级毛片在线播放 免费高清小黄站在线观看 免费高清不卡毛片在线看 免费高清毛片 | 性欧美高清理论片 | 久久精品国产99国产 | 国产亚洲精品第一区在线观看 | 天天拍夜夜添久久精品中文 | 亚洲刺激视频 | 91精品福利在线观看 | 国产高跟丝袜 | 久久免费国产视频 | 精品国产毛片 |