關(guān)于jquery form表單序列化的注意事項詳解
本文主要給大家介紹的是關(guān)于jquery form表單序列化的一些注意事項,分享出來供大家參考學(xué)習(xí),下面話不多說,來一起看看詳細的介紹:
我們先來講講表單中 中readonly和disabled的區(qū)別:
readonly只對input和textarea有效, 但是disabled對于所以的表單元素都是有效的,包括radio,checkbox等
如果表單中使用的disabled那么用戶是不能選擇的,也就是說這個文本框是無法獲取到焦點的,而readonly是可以獲取到焦點,只是不能修改,為只讀
最重要的一點, 在發(fā)送表單的時候,表單的控件屬性沒有name屬性該字段不會發(fā)送,也不會形成鍵值對;表單控件屬性是disabeld,則該字段不會發(fā)送,也不會形成鍵值對
測試1,沒有設(shè)置name屬性:
<body> <form id="form1"> <select> <option value="0">葫蘆娃測試0</option> <option value="1">葫蘆娃測試1</option> <option value="2">葫蘆娃測試2</option> </select> <input type="button" id="btnSubmit" value="提交" name="btnSubmit" /> </form> <script type="text/javascript"> $(document).ready(function () { $("#btnSubmit").click(function () { console.log("serialize:"); console.log($("#form1").serialize()); console.log("serializeArray:"); console.log($("#form1").serializeArray()); }); }); </script> </body>
輸出結(jié)果如下:
serialize: serializeArray: []length: __proto__: Array(0)
測試2,設(shè)置name屬性:
<body> <form id="form1"> <select name="selectHuLuWa"> <option value="0">葫蘆娃測試0</option> <option value="1">葫蘆娃測試1</option> <option value="2">葫蘆娃測試2</option> </select> <input type="button" id="btnSubmit" value="提交" name="btnSubmit" /> </form> <script type="text/javascript"> $(document).ready(function () { $("#btnSubmit").click(function () { console.log("serialize:"); console.log($("#form1").serialize()); console.log("serializeArray:"); console.log($("#form1").serializeArray()); }); }); </script> </body>
輸出結(jié)果如下:
serialize: selectHuLuWa=0 serializeArray: [{…}] {name: "selectHuLuWa", value: "0"} length:1 __proto__:Array(0)
測試3,設(shè)置readoly屬性:
<body> <form id="form1"> <select name="selectHuLuWa" readonly="readonly"> <option value="0">葫蘆娃測試0</option> <option value="1">葫蘆娃測試1</option> <option value="2">葫蘆娃測試2</option> </select> <input type="button" id="btnSubmit" value="提交" name="btnSubmit" /> </form> <script type="text/javascript"> $(document).ready(function () { $("#btnSubmit").click(function () { console.log("serialize:"); console.log($("#form1").serialize()); console.log("serializeArray:"); console.log($("#form1").serializeArray()); }); }); </script> </body>
測試結(jié)果如下:
測試4,設(shè)置disabled屬性
<body> <form id="form1"> <select name="selectHuLuWa" disabled="disabled"> <option value="0">葫蘆娃測試0</option> <option value="1">葫蘆娃測試1</option> <option value="2">葫蘆娃測試2</option> </select> <input type="button" id="btnSubmit" value="提交" name="btnSubmit" /> </form> <script type="text/javascript"> $(document).ready(function () { $("#btnSubmit").click(function () { console.log("serialize:"); console.log($("#form1").serialize()); console.log("serializeArray:"); console.log($("#form1").serializeArray()); }); }); </script> </body>
測試結(jié)果如下:
由此可證表單控件沒有name屬性,設(shè)置disabled屬性是無法進行序列化的。
**如果需要把disabled的進行序列化的方法為:
在序列化之前移除disabled屬性,序列化完成后,再添加上即可。**
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持
相關(guān)文章
jQuery插件jRumble實現(xiàn)網(wǎng)頁元素抖動
jRumble是jquery的插件,可以讓你選擇的元素抖動。 調(diào)用時只需一句代碼即可,有些抖動效果還挺可愛,可自定義的抖動效果,十分的炫酷,有需要的小伙伴可以參考下。2015-06-06div拖拽插件——JQ.MoveBox.js(自制JQ插件)
以前用原生的JS做過類似拖拽div的效果,現(xiàn)在按原思路改做成一個JQ的小插件,當(dāng)作制作JQ插件的一個小練習(xí),感興趣的朋友可以了解下哈2013-05-05jquery $.ajax()取xml數(shù)據(jù)的小問題解決方法
今天想做一個用$.ajax()從xml中讀取數(shù)據(jù)的這么一個異步交互過程2010-11-11兼容主流瀏覽器的jQuery+CSS 實現(xiàn)遮罩層的簡單代碼
比起使用注冊頁和登陸頁,網(wǎng)站在當(dāng)前頁使用遮罩層注冊和登陸的用戶體驗要好不少。這里使用jQuery和CSS實現(xiàn)一個簡單的遮罩效果。2014-10-10jQuery ui實現(xiàn)動感的圓角漸變網(wǎng)站導(dǎo)航菜單效果代碼
這篇文章主要介紹了jQuery ui實現(xiàn)動感的圓角漸變網(wǎng)站導(dǎo)航菜單效果代碼,涉及jquery插件構(gòu)造圓角圖形及頁面過度效果的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-08-08利用jquery給指定的table動態(tài)添加一行、刪除一行的方法
下面小編就為大家?guī)硪黄胘query給指定的table動態(tài)添加一行、刪除一行的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-10-10