Jquery通過Ajax方式來提交Form表單的具體實(shí)現(xiàn)
更新時(shí)間:2013年11月07日 17:26:55 投稿:whsnow
提交Form表單的方法有很多,在本文為大家介紹下Jquery通過Ajax方式是如何提交Form表單的
今天剛好看到Jquery的ajax提交數(shù)據(jù)到服務(wù)器的方法,原文是:
保存數(shù)據(jù)到服務(wù)器,成功時(shí)顯示信息。
jQuery 代碼:
復(fù)制代碼 代碼如下:
$.ajax({
type: "POST",
url: "some.php",
data: "name=John&location=Boston",
success: function(msg){
alert( "Data Saved: " + msg );
}
});
后來我就想了一下,我要提交form表單有沒有辦法呢?但是我不可能每個(gè)fom的input都寫一次var demo=$("#divname").val();的.
后來,今天我看到一個(gè)方法,就是.map,就做出一下想法了,可以借鑒喲;
html代碼如下,下面我要提交Form 的id為dlg_form的所有input數(shù)據(jù),
復(fù)制代碼 代碼如下:
<form id="dlg_form" method="post">
<div class="fitem">
<label> 房間:</label>
<input name="RoomName" style="padding: 2px; width: 135px; border: 1px solid #A4BED4;" required />
</div>
<div class="fitem">
<label> 建筑:</label>
<input name="RoomName" class="easyui-combobox" style="padding: 2px; width: 141px; " required />
</div>
<div class="fitem">
<label> 部門:</label>
<input name="RoomName" class="easyui-combobox" style="padding: 2px; width: 141px; " required />
</div>
<fieldset>
<legend>
<label>
<input type="checkbox" id="ktkzq" name="ktkzq" value="ktkzq"/>
空調(diào)控制器</label>
</legend>
<div class="fitem">
<label> 端口:</label>
<input name="kt_dk" id="kt_dk" disabled="disabled" class="easyui-combobox" style="padding: 2px; width: 141px; " required />
</div>
<div class="fitem">
<label> 地址:</label>
<input name="kt_dz" id="kt_dz" disabled="disabled" class="easyui-combobox" style="padding: 2px; width: 141px; " required />
</div>
<div class="fitem">
<label> 工作方式:</label>
<input name="kt_gzfs" id="kt_gzfs" disabled="disabled" class="easyui-combobox" style="padding: 2px; width: 141px; " required />
</div>
<div class="fitem">
<label> 是否啟用:</label>
<input name="kt_sfqy" id="kt_sfqy" disabled="disabled" class="easyui-combobox" style="padding: 2px; width: 141px; " required />
</div>
</fieldset>
<fieldset>
<legend>
<label>
<input type="checkbox" id="dgkzq" name="dgkzq" value="dgkzq"/>
燈光控制器</label>
</legend>
<div class="fitem">
<label> 端口:</label>
<input name="dg_dk" id="dg_dk" disabled="disabled" class="easyui-combobox" style="padding: 2px; width: 141px; " required />
</div>
<div class="fitem">
<label> 地址:</label>
<input name="dg_dz" id="dg_dz" disabled="disabled" class="easyui-combobox" style="padding: 2px; width: 141px; " required />
</div>
<div class="fitem">
<label> 工作方式:</label>
<input name="dg_gzfs" id="dg_gzfs" disabled="disabled" class="easyui-combobox" style="padding: 2px; width: 141px; " required />
</div>
<div class="fitem">
<label> 是否啟用:</label>
<input name="dg_sfqy" id="dg_sfqy" disabled="disabled" class="easyui-combobox" style="padding: 2px; width: 141px; " required />
</div>
</fieldset>
<div class="fitem">
<label style=" width:100px;">
<input type="checkbox" id="zongbiao" name="zongbiao" value="zongbiao"/>
安裝了總表:</label>
</div>
<div class="fitem">
<label> 總表電能節(jié)點(diǎn):</label>
<input name="zbdnjd" id="zbdnjd" disabled="disabled" class="easyui-combobox" style="padding: 2px; width: 141px; " required />
</div>
</form>
看看我的方法,首先我們把所有的input的name和value都取下來,
js代碼如下:
復(fù)制代碼 代碼如下:
var str_data=$("#dlg_form input").map(function(){
return ($(this).attr("name")+'='+$(this).val());
}).get().join("&") ;
alert(data);
ps:你alert一下,你會(huì)發(fā)現(xiàn),這里面的架構(gòu)就是divname=xxx&divname2=xxxx等等,
然后在回頭看看ajax提交的:
復(fù)制代碼 代碼如下:
$.ajax({
type: "POST",
url: "some.php",
data: "name=John&location=Boston",
success: function(msg){
alert( "Data Saved: " + msg );
}
});
有沒有發(fā)現(xiàn),只要我們把我們上面獲取到的,放到data里面就可以了?
完整的代碼,修改后應(yīng)該是
復(fù)制代碼 代碼如下:
$.ajax({
var str_data=$("#dlg_form input").map(function(){
return ($(this).attr("name")+'='+$(this).val());
}).get().join("&") ;
type: "POST",
url: "some.php",
data: str_data,
success: function(msg){
alert( "Data Saved: " + msg );
}
});
ok,就這么簡單,如果適用的話,可以拿去用喲...
呵呵.
如果有問題,也歡迎提出來.
相關(guān)文章
常用的jquery模板插件——jQuery Boilerplate介紹
Query Boilerplate是一個(gè)不錯(cuò)的jQuery插件開發(fā)工具,使用這個(gè)工具可以幫助你快速的構(gòu)建一個(gè)jQuery框架。這個(gè)工具提供你很多評(píng)論用以幫助你使得開發(fā)變得簡單和直接,它是個(gè)真正的面對(duì)對(duì)象的工具,你可以實(shí)現(xiàn)公開或者私有的方法或者公開或者私有的屬性。2014-09-09
JQuery魔力之$("tagName")與selector
DOM 中的 getElementsByTagName()方法在JQuery中的表現(xiàn)就是$(“tagName”)這么簡單!tag標(biāo)簽(可以是:p、div、button …)標(biāo)簽本身具有ID、Class等屬性2012-03-03
jQuery實(shí)現(xiàn)彈窗居中效果類似alert()
本文給大家分享基于jquery實(shí)現(xiàn)彈窗居中效果類似于alert(),代碼簡單易懂,非常不錯(cuò),具有參考借鑒價(jià)值,需要的的朋友參考下2017-02-02
jQuery簡單實(shí)現(xiàn)上下,左右滑動(dòng)的方法
這篇文章主要介紹了jQuery簡單實(shí)現(xiàn)上下,左右滑動(dòng)的方法,涉及jQuery動(dòng)態(tài)操作頁面元素的相關(guān)技巧,需要的朋友可以參考下2016-06-06
jquery ezUI 雙擊行記錄彈窗查看明細(xì)的實(shí)現(xiàn)方法
下面小編就為大家?guī)硪黄猨query ezUI 雙擊行記錄彈窗查看明細(xì)的實(shí)現(xiàn)方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-06-06
jQuery快速實(shí)現(xiàn)商品數(shù)量加減的方法
這篇文章主要介紹了 jQuery快速實(shí)現(xiàn)商品數(shù)量加減的方法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-02-02
詳談jQuery中使用attr(), prop(), val()獲取value的異同
下面小編就為大家?guī)硪黄斦刯Query中使用attr(), prop(), val()獲取value的異同。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-04-04

