mirror of
https://github.com/fofolee/uTools-Manuals.git
synced 2025-06-09 07:24:04 +08:00
121 lines
16 KiB
HTML
121 lines
16 KiB
HTML
<article class="" id="post-">
|
||
<header class="entry-header">
|
||
<h1 class="entry-title">.serialize()</h1>
|
||
<div class="entry-meta">
|
||
所属分类:<span class="category"><a href="/category/forms/">表单</a></span><span class="category-divider"> | </span><span class="category"><a href="/category/ajax/">Ajax</a> > <a href="/category/ajax/helper-functions/">辅助函数</a></span>
|
||
<span class="pull-right">英文文档:<a href="https://api.jquery123.com/serialize/" target="_blank">.serialize()</a></span>
|
||
</div><!-- .entry-meta -->
|
||
</header><!-- .entry-header -->
|
||
<!-- .entry-header -->
|
||
<div class="entry-content">
|
||
<article class="entry method" id="serialize1"><h2 class="section-title">
|
||
<span class="name">.serialize()</span><span class="returns">返回: <a href="/Types/#String">String</a></span>
|
||
</h2>
|
||
<div class="entry-wrapper">
|
||
<p class="desc"><strong>描述: </strong>将用作提交的表单元素的值编译成字符串。</p>
|
||
<ul class="signatures"><li class="signature" id="serialize">
|
||
<h4 class="name">
|
||
<span class="version-details">添加的版本: <a href="/category/version/1.0/">1.0</a></span>.serialize()</h4>
|
||
<ul><li><div class="null-signature">这个方法不接受任何参数。</div></li></ul>
|
||
</li></ul>
|
||
<div class="longdesc" id="entry-longdesc">
|
||
<p><code>.serialize()</code> 方法使用标准的 URL-encoded 符号上建立一个文本字符串. 它可以对一个代表一组表单元素的 jQuery 对象进行操作,比如<code><input></code>, <code><textarea></code>, 和 <code><select></code>: <code>$( "input, textarea, select" ).serialize();</code>:</p>
|
||
<p>
|
||
<code><form></code> 序列化很容易:</p>
|
||
<div class="syntaxhighlighter javascript nogutter">
|
||
<table>
|
||
<tbody>
|
||
<tr>
|
||
<td class="gutter">
|
||
<div class="line n1">1</div>
|
||
<div class="line n2">2</div>
|
||
<div class="line n3">3</div>
|
||
<div class="line n4">4</div>
|
||
</td>
|
||
<td class="code">
|
||
<pre><div class="container"><div class="line"><code>$( <span class="string">"form"</span> ).on( <span class="string">"submit"</span>, <span class="keyword">function</span>( event ) {</code></div></div><div class="container"><div class="line"><code> event.preventDefault();</code></div></div><div class="container"><div class="line"><code> console.log( $( <span class="keyword">this</span> ).serialize() );</code></div></div><div class="container"><div class="line"><code>});</code></div></div></pre>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
<p>
|
||
在这种情况下,jQuery成功的控制表单的序列化。只有<code>form</code>元素检查它们所包含的输入框,在所有其他情况下,输入元素要序列化应该是集合的一部分传递给<code>.serialize()</code>方法。选择集合中表单和它子元素在序列化的字符串会导致重复。</p>
|
||
<p><strong>注意</strong>: 只有 <a href="http://www.w3.org/TR/html401/interact/forms.html#h-17.13.2">"successful controls"</a>可以被序列化成字符串。其中,提交按钮的值不会被序列化。另外,如果想要一个表单元素的值被序列化成字符串,这个元素必须含有 <code>name</code> 属性。此外,复选框(checkbox)和单选按钮(radio)(<code>input</code> 类型为 "radio" 或 "checkbox")的值只有在被选中时才会被序列化。另外,文件选择元素的数据也不会被序列化。</p>
|
||
</div>
|
||
<section class="entry-examples" id="entry-examples"><header><h2 class="underline">例子:</h2></header><div class="entry-example" id="example-0">
|
||
<h4><span class="desc">把一个表单序列化成一个查询字符串,使之能够在一个Ajax请求中发送。</span></h4>
|
||
<div class="syntaxhighlighter xml ">
|
||
<table>
|
||
<tbody>
|
||
<tr>
|
||
<td class="gutter">
|
||
<div class="line n1">1</div>
|
||
<div class="line n2">2</div>
|
||
<div class="line n3">3</div>
|
||
<div class="line n4">4</div>
|
||
<div class="line n5">5</div>
|
||
<div class="line n6">6</div>
|
||
<div class="line n7">7</div>
|
||
<div class="line n8">8</div>
|
||
<div class="line n9">9</div>
|
||
<div class="line n10">10</div>
|
||
<div class="line n11">11</div>
|
||
<div class="line n12">12</div>
|
||
<div class="line n13">13</div>
|
||
<div class="line n14">14</div>
|
||
<div class="line n15">15</div>
|
||
<div class="line n16">16</div>
|
||
<div class="line n17">17</div>
|
||
<div class="line n18">18</div>
|
||
<div class="line n19">19</div>
|
||
<div class="line n20">20</div>
|
||
<div class="line n21">21</div>
|
||
<div class="line n22">22</div>
|
||
<div class="line n23">23</div>
|
||
<div class="line n24">24</div>
|
||
<div class="line n25">25</div>
|
||
<div class="line n26">26</div>
|
||
<div class="line n27">27</div>
|
||
<div class="line n28">28</div>
|
||
<div class="line n29">29</div>
|
||
<div class="line n30">30</div>
|
||
<div class="line n31">31</div>
|
||
<div class="line n32">32</div>
|
||
<div class="line n33">33</div>
|
||
<div class="line n34">34</div>
|
||
<div class="line n35">35</div>
|
||
<div class="line n36">36</div>
|
||
<div class="line n37">37</div>
|
||
<div class="line n38">38</div>
|
||
<div class="line n39">39</div>
|
||
<div class="line n40">40</div>
|
||
<div class="line n41">41</div>
|
||
<div class="line n42">42</div>
|
||
<div class="line n43">43</div>
|
||
<div class="line n44">44</div>
|
||
<div class="line n45">45</div>
|
||
<div class="line n46">46</div>
|
||
<div class="line n47">47</div>
|
||
<div class="line n48">48</div>
|
||
<div class="line n49">49</div>
|
||
<div class="line n50">50</div>
|
||
<div class="line n51">51</div>
|
||
<div class="line n52">52</div>
|
||
<div class="line n53">53</div>
|
||
<div class="line n54">54</div>
|
||
<div class="line n55">55</div>
|
||
<div class="line n56">56</div>
|
||
</td>
|
||
<td class="code">
|
||
<pre><div class="container"><div class="line"><code><span class="doctype"><!DOCTYPE html></span></code></div></div><div class="container"><div class="line"><code><span class="tag"><<span class="title">html</span>></span></code></div></div><div class="container"><div class="line"><code><span class="tag"><<span class="title">head</span>></span></code></div></div><div class="container"><div class="line"><code> <span class="tag"><<span class="title">style</span>></span><span class="css"></span></code></div></div><div class="container"><div class="line"><code> <span class="tag">body</span>, <span class="tag">select</span> <span class="rules">{ <span class="rule"><span class="attribute">font-size</span>:<span class="value"><span class="number">12</span>px;</span></span> <span class="rule">}</span></span></code></div></div><div class="container"><div class="line"><code> <span class="tag">form</span> <span class="rules">{ <span class="rule"><span class="attribute">margin</span>:<span class="value"><span class="number">5</span>px;</span></span> <span class="rule">}</span></span></code></div></div><div class="container"><div class="line"><code> <span class="tag">p</span> <span class="rules">{ <span class="rule"><span class="attribute">color</span>:<span class="value">red;</span></span> <span class="rule"><span class="attribute">margin</span>:<span class="value"><span class="number">5</span>px;</span></span> <span class="rule"><span class="attribute">font-size</span>:<span class="value"><span class="number">14</span>px;</span></span> <span class="rule">}</span></span></code></div></div><div class="container"><div class="line"><code> <span class="tag">b</span> <span class="rules">{ <span class="rule"><span class="attribute">color</span>:<span class="value">blue;</span></span> <span class="rule">}</span></span></code></div></div><div class="container"><div class="line"><code> <span class="tag"></<span class="title">style</span>></span></code></div></div><div class="container"><div class="line"><code> <span class="tag"><<span class="title">script</span> <span class="attribute">src</span>=<span class="value">"https://code.jquery.com/jquery-latest.js"</span>></span><span class="javascript"></span><span class="tag"></<span class="title">script</span>></span></code></div></div><div class="container"><div class="line"><code><span class="tag"></<span class="title">head</span>></span></code></div></div><div class="container"><div class="line"><code><span class="tag"><<span class="title">body</span>></span></code></div></div><div class="container"><div class="line"><code> </code></div></div><div class="container"><div class="line"><code> </code></div></div><div class="container"><div class="line"><code><span class="tag"><<span class="title">form</span>></span></code></div></div><div class="container"><div class="line"><code> <span class="tag"><<span class="title">select</span> <span class="attribute">name</span>=<span class="value">"single"</span>></span></code></div></div><div class="container"><div class="line"><code> <span class="tag"><<span class="title">option</span>></span>Single<span class="tag"></<span class="title">option</span>></span></code></div></div><div class="container"><div class="line"><code> <span class="tag"><<span class="title">option</span>></span>Single2<span class="tag"></<span class="title">option</span>></span></code></div></div><div class="container"><div class="line"><code> <span class="tag"></<span class="title">select</span>></span></code></div></div><div class="container"><div class="line"><code> </code></div></div><div class="container"><div class="line"><code> <span class="tag"><<span class="title">br</span> /></span></code></div></div><div class="container"><div class="line"><code> <span class="tag"><<span class="title">select</span> <span class="attribute">name</span>=<span class="value">"multiple"</span> <span class="attribute">multiple</span>=<span class="value">"multiple"</span>></span></code></div></div><div class="container"><div class="line"><code> <span class="tag"><<span class="title">option</span> <span class="attribute">selected</span>=<span class="value">"selected"</span>></span>Multiple<span class="tag"></<span class="title">option</span>></span></code></div></div><div class="container"><div class="line"><code> <span class="tag"><<span class="title">option</span>></span>Multiple2<span class="tag"></<span class="title">option</span>></span></code></div></div><div class="container"><div class="line"><code> </code></div></div><div class="container"><div class="line"><code> <span class="tag"><<span class="title">option</span> <span class="attribute">selected</span>=<span class="value">"selected"</span>></span>Multiple3<span class="tag"></<span class="title">option</span>></span></code></div></div><div class="container"><div class="line"><code> <span class="tag"></<span class="title">select</span>></span></code></div></div><div class="container"><div class="line"><code> <span class="tag"><<span class="title">br</span>/></span></code></div></div><div class="container"><div class="line"><code> <span class="tag"><<span class="title">input</span> <span class="attribute">type</span>=<span class="value">"checkbox"</span> <span class="attribute">name</span>=<span class="value">"check"</span> <span class="attribute">value</span>=<span class="value">"check1"</span> <span class="attribute">id</span>=<span class="value">"ch1"</span>/></span></code></div></div><div class="container"><div class="line"><code> </code></div></div><div class="container"><div class="line"><code> <span class="tag"><<span class="title">label</span> <span class="attribute">for</span>=<span class="value">"ch1"</span>></span>check1<span class="tag"></<span class="title">label</span>></span></code></div></div><div class="container"><div class="line"><code> </code></div></div><div class="container"><div class="line"><code> <span class="tag"><<span class="title">input</span> <span class="attribute">type</span>=<span class="value">"checkbox"</span> <span class="attribute">name</span>=<span class="value">"check"</span> <span class="attribute">value</span>=<span class="value">"check2"</span> <span class="attribute">checked</span>=<span class="value">"checked"</span> <span class="attribute">id</span>=<span class="value">"ch2"</span>/></span></code></div></div><div class="container"><div class="line"><code> </code></div></div><div class="container"><div class="line"><code> <span class="tag"><<span class="title">label</span> <span class="attribute">for</span>=<span class="value">"ch2"</span>></span>check2<span class="tag"></<span class="title">label</span>></span></code></div></div><div class="container"><div class="line"><code> <span class="tag"><<span class="title">br</span> /></span></code></div></div><div class="container"><div class="line"><code> <span class="tag"><<span class="title">input</span> <span class="attribute">type</span>=<span class="value">"radio"</span> <span class="attribute">name</span>=<span class="value">"radio"</span> <span class="attribute">value</span>=<span class="value">"radio1"</span> <span class="attribute">checked</span>=<span class="value">"checked"</span> <span class="attribute">id</span>=<span class="value">"r1"</span>/></span></code></div></div><div class="container"><div class="line"><code> </code></div></div><div class="container"><div class="line"><code> <span class="tag"><<span class="title">label</span> <span class="attribute">for</span>=<span class="value">"r1"</span>></span>radio1<span class="tag"></<span class="title">label</span>></span></code></div></div><div class="container"><div class="line"><code> <span class="tag"><<span class="title">input</span> <span class="attribute">type</span>=<span class="value">"radio"</span> <span class="attribute">name</span>=<span class="value">"radio"</span> <span class="attribute">value</span>=<span class="value">"radio2"</span> <span class="attribute">id</span>=<span class="value">"r2"</span>/></span></code></div></div><div class="container"><div class="line"><code> </code></div></div><div class="container"><div class="line"><code> <span class="tag"><<span class="title">label</span> <span class="attribute">for</span>=<span class="value">"r2"</span>></span>radio2<span class="tag"></<span class="title">label</span>></span></code></div></div><div class="container"><div class="line"><code><span class="tag"></<span class="title">form</span>></span></code></div></div><div class="container"><div class="line"><code><span class="tag"><<span class="title">p</span>></span><span class="tag"><<span class="title">tt</span> <span class="attribute">id</span>=<span class="value">"results"</span>></span><span class="tag"></<span class="title">tt</span>></span><span class="tag"></<span class="title">p</span>></span></code></div></div><div class="container"><div class="line"><code><span class="tag"><<span class="title">script</span>></span><span class="javascript"></span></code></div></div><div class="container"><div class="line"><code> <span class="function"><span class="keyword">function</span> <span class="title">showValues</span><span class="params">()</span> {</span></code></div></div><div class="container"><div class="line"><code> <span class="keyword">var</span> str = $(<span class="string">"form"</span>).serialize();</code></div></div><div class="container"><div class="line"><code> $(<span class="string">"#results"</span>).text(str);</code></div></div><div class="container"><div class="line"><code> }</code></div></div><div class="container"><div class="line"><code> $(<span class="string">":checkbox, :radio"</span>).click(showValues);</code></div></div><div class="container"><div class="line"><code> $(<span class="string">"select"</span>).change(showValues);</code></div></div><div class="container"><div class="line"><code> showValues();</code></div></div><div class="container"><div class="line"><code><span class="tag"></<span class="title">script</span>></span></code></div></div><div class="container"><div class="line"><code> </code></div></div><div class="container"><div class="line"><code><span class="tag"></<span class="title">body</span>></span></code></div></div><div class="container"><div class="line"><code><span class="tag"></<span class="title">html</span>></span></code></div></div></pre>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
<h4>Demo:</h4>
|
||
<div class="demo code-demo" data-height="200"></div>
|
||
</div></section>
|
||
</div></article> </div>
|
||
</article> |