最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2020年10月30日 09:28:37   作者:Terre  
這篇文章主要介紹了Javascript表單序列化原理及實(shí)現(xiàn)代碼詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

隨著 Ajax 的出現(xiàn),表單序列化已經(jīng)成為一種常見(jiàn)需求。在 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>元素沒(méi)有 value 特性,則是<option>元素的文本值。

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

基本的表單序列化可以通過(guò)遍歷表單元素實(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:
     //不包含沒(méi)有名字的表單字段 
     if (field.name.length){ 
      parts.push(encodeURIComponent(field.name) + "=" + 
      encodeURIComponent(field.value)); 
     }
  }
 }
  return parts.join("&");
}

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Javascript 模擬mvc實(shí)現(xiàn)點(diǎn)餐程序案例詳解

    Javascript 模擬mvc實(shí)現(xiàn)點(diǎn)餐程序案例詳解

    這篇文章主要介紹了Javascript 模擬mvc實(shí)現(xiàn)點(diǎn)餐程序案例詳解,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-12-12
  • 微信小程序列表時(shí)間戳轉(zhuǎn)換實(shí)現(xiàn)過(guò)程解析

    微信小程序列表時(shí)間戳轉(zhuǎn)換實(shí)現(xiàn)過(guò)程解析

    這篇文章主要介紹了微信小程序列表時(shí)間戳轉(zhuǎn)換實(shí)現(xiàn)過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-10-10
  • js根據(jù)當(dāng)前日期獲取前一周或者后一周等日期

    js根據(jù)當(dāng)前日期獲取前一周或者后一周等日期

    有的時(shí)候要獲取當(dāng)前日期,或者前一天、后一天的日期,下面這篇文章主要給大家介紹了關(guān)于js根據(jù)當(dāng)前日期獲取前一周或者后一周等日期的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-04-04
  • 最新評(píng)論

    晋宁县| 平山县| 吉首市| 萨迦县| 迁西县| 专栏| 浪卡子县| 焉耆| 西峡县| 板桥市| 湘阴县| 张家口市| 左云县| 泸溪县| 岱山县| 金门县| 正镶白旗| 镇沅| 永丰县| 凤山县| 依安县| 墨竹工卡县| 龙陵县| 黔东| 虹口区| 鹤庆县| 连南| 开原市| 韶关市| 彰化市| 万全县| 藁城市| 竹北市| 大港区| 喀喇| 永安市| 清镇市| 西丰县| 化隆| 宜章县| 清新县|