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

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

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

瀏覽:66日期: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)文章:
主站蜘蛛池模板: 国产成人亚洲欧美三区综合 | 黑人巨鞭大战白妞10级 | 婷婷午夜天 | 国产精品福利一区 | 美女高清视频喷水 | 高清视频欧美性生活 | 亚洲欧美日韩中文字幕在线 | 欧美日韩国产中文字幕 | 国产美腿丝袜福利视频在线观看 | 国产成人91青青草原精品 | 狠狠五月天 | 高清无遮挡在线观看 | 精品推荐 国产 | 午夜精品国产爱在线观看不卡 | 精品视频在线观看免费 | 中文字幕欧美成人免费 | 国自产精品手机在线视频香蕉 | 国产极品在线观看视频 | 国产在线99 | 婷婷午夜激情 | 又大又爽又湿又紧a视频 | 免费大片网站 | 99re在线这里只有精品 | 天堂激情网 | 夜夜操影院 | 可以看毛片的网址 | 成人性生活免费视频 | 亚洲主播 | 亚洲视频999 | 国产精品区网红主播在线观看 | 娇喘呻吟福利视频在线观看 | 一区二区三区欧美视频 | 久久久久国产成人精品亚洲午夜 | 国产伦理久久精品久久久久 | 久久精品亚洲一区二区 | 一区二区三区免费视频观看 | 免费特黄一级欧美大片在线看 | 国模偷拍在线观看免费视频 | 国产成人91高清精品免费 | 成人免费看黄页网址大全 | 国产偷v国产偷v亚洲偷v |