1. 程式人生 > >jQuery.serializeArray() 函式詳解

jQuery.serializeArray() 函式詳解

轉載http://www.365mini.com/page/jquery-serializearray.htm

描述

  • serializeArray()函式用於序列化一組表單元素,將表單內容編碼為一個JavaScript陣列。
  • serializeArray()函式常用於將表單內容序列化為JSON物件,以便於被編碼為JSON格式的字串。
  • 該函式會將可用於提交的每個表單控制元件封裝成一個Object物件,該物件有name和value屬性,對應該表單控制元件的name和value屬性。然後將這些Object物件封裝為一個數組並返回。
  • 該函式不會序列化不需要提交的表單控制元件,這和常規的表單提交行為是一致的。例如:不在<form>標籤內的表單控制元件不會被提交、沒有name屬性的表單控制元件不會被提交、帶有disabled屬性的表單控制元件不會被提交、沒有被選中的表單控制元件不會被提交。
  • 與常規表單提交不一樣的是:常規表單一般會提交帶有name的按鈕控制元件,而serializeArray()函式不會序列化帶有name的按鈕控制元件。
  • 該函式屬於jQuery物件(例項)。

語法

  • jQuery 1.2 新增該函式。
  • jQueryObject.serializeArray( )
  • 返回值:serializeArray()函式的返回值為Array型別,返回將表單元素編碼後的JS陣列。

示例&說明

請參考下面這段初始HTML程式碼:
<form name="myForm" action="http://www.365mini.com" method="post">
    <input name="uid" type="hidden" value="1" />
    <input name="username" type="text" value="張三" />
    <input name="password" type="text" value="123456" />
    <select name="grade" id="grade">
        <option value="1">一年級</option>
        <option value="2">二年級</option>
        <option value="3" selected="selected">三年級</option>
        <option value="4">四年級</option>
        <option value="5">五年級</option>
        <option value="6">六年級</option>
    </select>
    <input name="sex" type="radio" checked="checked" value="1" />男
    <input name="sex" type="radio" value="0" />女
    <input name="hobby" type="checkbox" checked="checked" value="1" />游泳
    <input name="hobby" type="checkbox" checked="checked" value="2" />跑步
    <input name="hobby" type="checkbox" value="3" />羽毛球
    <input name="btn" id="btn" type="button" value="點選" />
</form>

對<form>元素進行序列化可以直接序列化其內部的所有表單元素。
var formArray = $("form").serializeArray();
/* 以下是序列化後的結果陣列formArray的內容:
[
    { name: "uid", value: "1" },
    { name: "username", value: "張三" },
    { name: "password", value: "123456" },
    { name: "grade", value: "3" },
    { name: "sex", value: "1" },
    { name: "hobby", value: "1" },
    { name: "hobby", value: "2" }
];
*/
我們也可以直接對部分表單元素進行序列化。
var result = $(":text, select, :checkbox").serializeArray();
/* 以下是序列化後的結果陣列result的內容:
[ 
    { name: "username", value: "張三" }, 
    { name: "password", value: "123456" },
    { name: "grade", value: "3" },
    { name: "hobby", value: "1" },
    { name: "hobby", value: "2" }
];
*/


相關推薦

jQuery.serializeArray() 函式

轉載http://www.365mini.com/page/jquery-serializearray.htm 描述 serializeArray()函式用於序列化一組表單元素,將表單內容編碼為一個JavaScript陣列。serializeArray()函式常用於將表單

jQuery.parseJSON() 函式

jQuery.parseJSON()函式用於將格式完好的JSON字串轉為與之對應的JavaScript物件。 所謂”格式完好”,就是要求指定的字串必須符合嚴格的JSON格式,例如:屬性名稱必須加雙引號、字串值也必須用雙引號。 如果傳入一個格式不”完好”的JS

jQuery.off() 函式

off()函式用於移除元素上繫結的一個或多個事件的事件處理函式。 off()函式主要用於解除由on()函式繫結的事件處理函式。 該函式屬於jQuery物件(例項)。 語法 jQuery 1.7 新增該函式。其主要有以下兩種形式的用法: 用法一: jQueryOb

jQuery.extend 函式

JQuery的extend擴充套件方法:       Jquery的擴充套件方法extend是我們在寫外掛的過程中常用的方法,該方法有一些過載原型,在此,我們一起去了解了解。      一、

jQuery.extend 函式

JQuery的extend擴充套件方法:       Jquery的擴充套件方法extend是我們在寫外掛的過程中常用的方法,該方法有一些過載原型,在此,我們一起去了解了解。       一、Jquery的擴充套件方法原型是:    extend(dest,src1,

jQuery.attr() 函式

attr()函式用於設定或返回當前jQuery物件所匹配的元素節點的屬性值。 該函式屬於jQuery物件(例項)。如果需要刪除DOM元素節點的屬性,請使用removeAttr()函式。 語法 attr()函式有以下兩種用法: 用法一: jQueryObject.a

jQuery.extend 函式,一般用於封裝JQ外掛

JQuery的extend擴充套件方法:      Jquery的擴充套件方法extend是我們在寫外掛的過程中常用的方法,該方法有一些過載原型,在此,我們一起去了解了解。      一、Jquery的

ajax error 函式jquery

文章來自:原始碼線上https://www.shengli.me/jquery/186.html error函式 返回的引數有三個: 1.5版本以後返回的是jqXHR物件,該物件不僅包括XMLHttpRequest物件,還包含其他更多詳細屬性和資訊:   這裡主

jquery的ajax方法的回撥函式

前言 最近學習jquery的$.post(),$.get(),$("#div1").load(),$.ajax()方法,發現確實很方便,但是對函式返回值確不理解,後面自己做了幾個實驗,總結後把結論整理

jquery選擇器

orm visible type nbsp line style .html box con 一、基本選擇器 #box .box1 div $("#box, .box1"); 二、層級選擇器 $("div p"); //div中的所有p $("div > p");

常見26個jquery使用技巧

inside current mov pos external from any llb tar 本文列出jquery一些應用小技巧,比如有禁止右鍵點擊、隱藏搜索文本框文 字、在新窗口中打開鏈接、檢測瀏覽器、預加載圖片、頁面樣式切換、所有列等高、動態控制頁面字體大小、獲

MySQL 的函式

完整性約束 什麼是資料完整性 資料的準確性和可靠性。 分類 實體完整性 記錄準確的。(記錄不能重複) 主鍵約束: 不能重複,不能為空。  Primary key 欄位唯一的。 不能使用業務欄位。 無意義的

Vue生命週期函式

 vue例項的生命週期 1 什麼是生命週期(每個例項的一輩子) 概念:每一個Vue例項建立、執行、銷燬的過程,就是生命週期;在例項的生命週期中,總是伴隨著各種事件,這些事件就是生命週期函式; 生命週期:例項的生命週期,就是一個階段,從建立到執行,再到銷燬的階段; 生命週期函式:在例項的生命週

goinit函式

init()函式會在每個包完成初始化後自動執行,並且執行優先順序比main函式高。init 函式通常被用來: 對變數進行初始化 檢查/修復程式的狀態 註冊 執行一次計算   包的初始化        為

linux 核心 - ioctl 函式

1. 概念 ioctl 是裝置驅動程式中裝置控制介面函式,一個字元裝置驅動通常會實現裝置開啟、關閉、讀、寫等功能,在一些需要細分的情境下,如果需要擴充套件新的功能,通常以增設 ioctl() 命令的方式實現。 在檔案 I/O 中,ioctl 扮演著重要角色,本文將以驅動開發為側重

assert.ifError()函式

assert.ifError(value) 如果 value 為真值時,丟擲 value。當測試在回撥函式裡的引數 error 時非常有用。 const assert = require('assert'); assert.ifError(0); // OK assert.ifError(1); //

assert.throws()函式

assert.throws(block[, error][, message]) 期望 block 函式丟擲一個錯誤。 如果指定 error,它可以是一個建構函式、正則表示式或驗證函式。 如果指定 message,如果 block 因為失敗而丟擲錯誤,message 會是由 AssertionError 提

Swoole Echo伺服器隨意搭建 及set函式

<?php //Server Class Server { private $serv; /** * 連結swoole伺服器 * Server constructor. */ public function __construct()

深入理解計算機系統配套實驗(一) data lab 函式

/* 135. * bitAnd - x&y using only ~ and | 136. * Example: bitAnd(6, 5) = 4 137. * Legal ops: ~ | 138. * Max ops: 8 139. *

fcntl函式

功能描述:根據檔案描述詞來操作檔案的特性。 #include <unistd.h> #include <fcntl.h>  int fcntl(int fd, int cmd);  int fcntl(i