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

簡單了解Ajax表單序列化的實現(xiàn)方法

 更新時間:2019年06月14日 10:54:44   作者:夏至未至~  
這篇文章主要介紹了簡單了解Ajax表單序列化的實現(xiàn)方法,隨著Ajax的出現(xiàn),表單序列化已經(jīng)成為一種需求,在學(xué)習(xí)原生Ajax時,若用POST方法向后臺提交數(shù)據(jù)時,就需要將表單序列化,需要的朋友可以參考下

原生表單序列化

隨著Ajax的出現(xiàn),表單序列化已經(jīng)成為一種需求,在學(xué)習(xí)原生Ajax時,若用POST方法向后臺提交數(shù)據(jù)時,就需要將表單序列化

在JavaScript中可以利用表單字段的type屬性,連同name和value屬性,一起實現(xiàn)表單的序列化。

在進(jìn)行表單序列化之前,需要弄清楚在表單提交期間,瀏覽器是怎樣將數(shù)據(jù)發(fā)送給服務(wù)器的。

  • --對表單字段的名稱和值進(jìn)行URL編碼,使用和號(&)分隔
  • --不發(fā)送禁用的表單字段
  • --只發(fā)送勾選的復(fù)選框和單選按鈕
  • --不發(fā)送type為"reset"和"button"的按鈕
  • --多選選擇框中的每個選中的值單獨一個條目
  • --在單擊提交按鈕提交表單的情況下,也會發(fā)送提交按鈕,否則不發(fā)送提交按鈕
  • --<select>元素的值,就是選中的<option>元素的value特性的值。如果<option>元素沒有value屬性,則就是<option>元素的文本值

實現(xiàn)表單序列化的函數(shù)為:

function serialize(form){
var parts=[],
field=null,
i,
len,
j,
optLen,
option,
optValue;
for (i = 0; i < form.elements.length; i++) {
field=form.elements[i];
switch (field.type) {
case 'select-one':
case 'select-multiple':
if(field.name.length){
for (var j = 0; j < field.options.length; j++) {
option=field.options[j];
if (option.selected) {
optValue="";
if (option.hasAttribute) {
optValue=(option.hasAttribute('value') ? option.value : option.text);
}else{
optValue=(option.attribute['value'].specified ? option.value : option.text);
}
parts.push(encodeURIComponent(field.name) + "=" + encodeURIComponent(optValue));
}
}
}
break;
case undefined: //字段集
case "file": //文本輸入
case "submit": //提交按鈕
case "reset": //重置按鈕
case "button": //自定義按鈕
break;
case "radio": //單選按鈕
case "checkbox": //復(fù)選框
if (!field.checked) {
break;
}
//執(zhí)行默認(rèn)操作
default:
//不包含沒有名字的表單字段
if(field.name.length){
parts.push(encodeURIComponent(field.name) + "=" + encodeURIComponent(field.value));
}
}
}
return parts.join("&");
}

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

相關(guān)文章

  • 小程序getLocation需要在app.json中聲明permission字段

    小程序getLocation需要在app.json中聲明permission字段

    這篇文章主要介紹了小程序getLocation需要在app.json中聲明permission字段,個別需要獲取用戶地理位置的在開發(fā)者工具調(diào)試時會出現(xiàn)getLocation需要在app.json中聲明permission字段 ,下面我們就一起來解決一下
    2019-04-04
  • 微信小程序使用map組件實現(xiàn)路線規(guī)劃功能示例

    微信小程序使用map組件實現(xiàn)路線規(guī)劃功能示例

    這篇文章主要介紹了微信小程序使用map組件實現(xiàn)路線規(guī)劃功能,結(jié)合具體實例形式分析了微信小程序基于map組件的地理位置獲取、路徑規(guī)劃等相關(guān)操作技巧,需要的朋友可以參考下
    2019-01-01
  • D3.js實現(xiàn)力向?qū)D的繪制教程詳解

    D3.js實現(xiàn)力向?qū)D的繪制教程詳解

    力向?qū)D是繪圖的一種算法,實現(xiàn)了用以模擬粒子物理運動的?velocity?Verlet?數(shù)值積分器。本文將利用D3.js實現(xiàn)力向?qū)D的繪制,需要的可以參考一下
    2022-11-11
  • jsonp跨域請求詳解

    jsonp跨域請求詳解

    這篇文章主要為大家詳細(xì)介紹了jsonp跨域請求的相關(guān)資料,激活了所有接口支持瀏覽器跨域請求的封裝,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • JS獲取時間的方法

    JS獲取時間的方法

    這篇文章主要介紹了JS獲取時間的方法,涉及date的相關(guān)使用技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-01-01
  • JS模擬實現(xiàn)Excel條件格式中的色階效果

    JS模擬實現(xiàn)Excel條件格式中的色階效果

    這篇文章主要為大家詳細(xì)介紹了如何利用JavaScript模擬實現(xiàn)Excel條件格式中的色階效果,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以嘗試一下
    2023-05-05
  • uniapp?h5如何獲取用戶地理位置信息(使用高德地圖)

    uniapp?h5如何獲取用戶地理位置信息(使用高德地圖)

    這篇文章主要給大家介紹了關(guān)于uniapp?h5如何獲取用戶地理位置信息的相關(guān)資料,文中主要使用高德地圖,這里主要講h5實現(xiàn)獲取地理位置信息并定位功能,需要的朋友可以參考下
    2023-08-08
  • JS防止用戶多次提交的簡單代碼

    JS防止用戶多次提交的簡單代碼

    這篇文章介紹了JS防止用戶多次提交的簡單代碼,有需要的朋友可以參考一下
    2013-08-08
  • Canvas實現(xiàn)數(shù)字雨和放大鏡效果的代碼示例

    Canvas實現(xiàn)數(shù)字雨和放大鏡效果的代碼示例

    這篇文章主要介紹了如何Canvas實現(xiàn)數(shù)字雨和放大鏡效果,文中有完整的代碼示例,文章通過代碼介紹的非常清楚,感興趣的小伙伴跟著小編一起來看看吧
    2023-07-07
  • JavaScript從數(shù)組的indexOf()深入之Object的Property機制

    JavaScript從數(shù)組的indexOf()深入之Object的Property機制

    這篇文章主要介紹了JavaScript從數(shù)組的indexOf()深入——Object的Property機制的相關(guān)資料,需要的朋友可以參考下
    2016-05-05

最新評論

大安市| 措美县| 中方县| 镇原县| 疏勒县| 万年县| 凤山市| 通许县| 哈巴河县| 秦皇岛市| 茶陵县| 肃南| 舞钢市| 贵阳市| 牙克石市| 庆城县| 天祝| 清原| 左云县| 清水河县| 和平区| 交口县| 务川| 长武县| 遵义县| 定远县| 烟台市| 临清市| 抚宁县| 梧州市| 定远县| 正定县| 米脂县| 洪雅县| 博湖县| 辉南县| 吴川市| 繁昌县| 泾川县| 凤城市| 炉霍县|