Javascript 同時(shí)提交多個(gè)Web表單的方法
更新時(shí)間:2009年02月19日 23:39:58 作者:
1 問題來自一位網(wǎng)友的提問:
web頁面里有多個(gè)表單,每個(gè)表單對(duì)應(yīng)著某一類數(shù)據(jù)操作。
比如一個(gè)詳細(xì)的簡(jiǎn)歷信息頁面分 1、個(gè)人資料 2、工作經(jīng)驗(yàn) 3、項(xiàng)目經(jīng)驗(yàn) 4、其他信息 4個(gè)表單。
一般的需求是允許用戶單獨(dú)提交其中任何一個(gè)表單到下一個(gè)頁面進(jìn)行修改操作(也就是說頁面有4個(gè)不同的修改按鈕,點(diǎn)擊哪個(gè)按鈕則只提交某一個(gè)表單的數(shù)據(jù)到服務(wù)器,并根據(jù)表單的action)。
現(xiàn)在有這樣的需求,允許用戶選擇其中任意的一個(gè)或多個(gè)表單進(jìn)行提交修改,這樣的話在客戶端如何提交表單?
聲明:可能會(huì)有人說將4個(gè)表單合成一個(gè)大表單,根據(jù)修改按鈕的不同在服務(wù)器端進(jìn)行不同的數(shù)據(jù)操作即可。這是一種解決辦法,但考慮到頁面數(shù)據(jù)量比較大,為了提高效率,減少數(shù)據(jù)傳輸量,還是希望能夠分成多個(gè)表單提交,所以這個(gè)辦法暫不考慮。
是不是一定要用js或ajax?如果不用呢?
2 個(gè)人觀點(diǎn)
1 用Ajax提交,比如prototype
new Ajax.Request();
你可以同時(shí)調(diào)用多個(gè),默認(rèn)是異步提交,所以可以同時(shí)提交多個(gè)表單,這個(gè)方案是最簡(jiǎn)單的。
2 使用多個(gè)iframe,然后將每個(gè)表單的target指向不同的iframe
然后用js的
document.getElementById("form1").submit();
document.getElementById("form2").submit();
。。。
這個(gè)樣子進(jìn)行提交。
3 兩個(gè)方法的對(duì)比
Ajax方便簡(jiǎn)單,對(duì)結(jié)果的處理也比較省事,框架都替我們做好了,但不能跨域提交
iframe最符合一般的使用,也可以跨域提交,處理返回結(jié)果稍微麻煩些,需要在iframe里面使用 parent.進(jìn)行調(diào)用才可以。
一般的需求是允許用戶單獨(dú)提交其中任何一個(gè)表單到下一個(gè)頁面進(jìn)行修改操作(也就是說頁面有4個(gè)不同的修改按鈕,點(diǎn)擊哪個(gè)按鈕則只提交某一個(gè)表單的數(shù)據(jù)到服務(wù)器,并根據(jù)表單的action)。
現(xiàn)在有這樣的需求,允許用戶選擇其中任意的一個(gè)或多個(gè)表單進(jìn)行提交修改,這樣的話在客戶端如何提交表單?
聲明:可能會(huì)有人說將4個(gè)表單合成一個(gè)大表單,根據(jù)修改按鈕的不同在服務(wù)器端進(jìn)行不同的數(shù)據(jù)操作即可。這是一種解決辦法,但考慮到頁面數(shù)據(jù)量比較大,為了提高效率,減少數(shù)據(jù)傳輸量,還是希望能夠分成多個(gè)表單提交,所以這個(gè)辦法暫不考慮。
是不是一定要用js或ajax?如果不用呢?
2 個(gè)人觀點(diǎn)
1 用Ajax提交,比如prototype
new Ajax.Request();
你可以同時(shí)調(diào)用多個(gè),默認(rèn)是異步提交,所以可以同時(shí)提交多個(gè)表單,這個(gè)方案是最簡(jiǎn)單的。
2 使用多個(gè)iframe,然后將每個(gè)表單的target指向不同的iframe
然后用js的
document.getElementById("form1").submit();
document.getElementById("form2").submit();
。。。
這個(gè)樣子進(jìn)行提交。
3 兩個(gè)方法的對(duì)比
Ajax方便簡(jiǎn)單,對(duì)結(jié)果的處理也比較省事,框架都替我們做好了,但不能跨域提交
iframe最符合一般的使用,也可以跨域提交,處理返回結(jié)果稍微麻煩些,需要在iframe里面使用 parent.進(jìn)行調(diào)用才可以。
相關(guān)文章
JS實(shí)現(xiàn)多物體緩沖運(yùn)動(dòng)實(shí)例代碼
這篇文章主要介紹了JS實(shí)現(xiàn)多物體緩沖運(yùn)動(dòng)實(shí)例代碼,有需要的朋友可以參考一下2013-11-11
JS判斷字符串是否為整數(shù)的方法--簡(jiǎn)單的正則判斷
今天小編就為大家分享一篇JS判斷字符串是否為整數(shù)的方法--簡(jiǎn)單的正則判斷,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-07-07
js將當(dāng)前時(shí)間格式化為 年-月-日 時(shí):分:秒的實(shí)現(xiàn)代碼
這篇文章主要介紹了js將當(dāng)前時(shí)間格式化為 年-月-日 時(shí):分:秒主要是使用js的Date()對(duì)象,將系統(tǒng)當(dāng)前時(shí)間格式化為年-月-日 時(shí):分:秒,需要的朋友可以參考下2018-01-01
如何利用Web Speech API之speechSynthesis實(shí)現(xiàn)文字轉(zhuǎn)語音功能
Web Speech API使你能夠?qū)⒄Z音數(shù)據(jù)合并到Web應(yīng)用程序中,SpeechSynthesisUtterance是HTML5中新增的API,用于將指定文字合成為對(duì)應(yīng)的語音,這篇文章主要介紹了利用Web Speech API之speechSynthesis實(shí)現(xiàn)文字轉(zhuǎn)語音功能,需要的朋友可以參考下2024-06-06
詳細(xì)分析jsonp的原理和實(shí)現(xiàn)方式
給大家圖文詳細(xì)分析一下jsonp的原理以及跨域問題的匯總。2017-11-11
詳解微信小程序?qū)崿F(xiàn)仿微信聊天界面(各種細(xì)節(jié)處理)
這篇文章主要介紹了詳解微信小程序?qū)崿F(xiàn)仿微信聊天界面(各種細(xì)節(jié)處理),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-02-02

