jQuery解決input超多的表單提交
近段時(shí)間接到一個(gè)比較奇葩的需求,對(duì)方要求在企業(yè)站中加入一個(gè)類(lèi)似word的表單,并供用戶(hù)在線填寫(xiě)與提交。
仔細(xì)看了一下,該表單的字段高達(dá)一百多個(gè),這個(gè)量級(jí)是相當(dāng)可怕的。如果每個(gè)input手動(dòng)去填寫(xiě)id和name的話(huà),該是一個(gè)多么可怕的體力活啊。
反復(fù)思考了一下,為避免苦逼的去逐個(gè)填寫(xiě)input的id與name,決定用JS配合PHP的方式來(lái)解決這個(gè)表單一連串的提交工作。
表單組成部分
表單首先按照客戶(hù)的要求,將需要填寫(xiě)的表格與選項(xiàng)按照word文檔的原型進(jìn)行布局,使其符合用戶(hù)體驗(yàn),如下圖:
(上圖只是截取表單的一小部分作為范例,實(shí)際上這個(gè)表單是無(wú)比之大的)
當(dāng)表單的html布局完成之后,我們就需要開(kāi)始對(duì)這些表單的input設(shè)定id與name用于表單提交了。
前言中已經(jīng)說(shuō)道到了input非常多,所以我們這里采用JS的方式來(lái)為input自動(dòng)添加id與name。代碼如下(jquery方式):
$(document).ready(function(){ var inputNum = 0; $(‘input').each(function(){ $(this).attr({name:‘val'+inputNum,id:‘val'+inputNum}); inputNum++ })})
通過(guò)js處理后,該頁(yè)面的所有input都會(huì)自動(dòng)按照自增1的方式對(duì)id和name進(jìn)行添加。至此,這個(gè)表單的基本上可以正常使用了。(frome咱就不解釋了,程序員都懂的。)
表單GET部分
OK,上面已經(jīng)可以正常的把表單提交到PHP程序中進(jìn)行處理了。當(dāng)然上面的辦法也適用于任何一種web程序,比如說(shuō).net,jsp,asp等等…..
下一步我們就需要對(duì)提交過(guò)來(lái)的字符串進(jìn)行拆解,以獲取表單內(nèi)的值。關(guān)于如何獲取表單的傳值,本文就不做解釋了。
由于表單傳過(guò)來(lái)的值也是N個(gè),所以我們也不可能一個(gè)一個(gè)的去寫(xiě)數(shù)組變量來(lái)獲取這些值,所以這里也需要用到一些辦法來(lái)處理。
好,下面我們來(lái)說(shuō)正事。首先我們按照之前的js程序邏輯來(lái)思考,如何讓這些數(shù)組每個(gè)自增1來(lái)實(shí)現(xiàn)數(shù)組的輸出。
程序代碼如下:
<?php $num = 0; //初始化計(jì)數(shù)變量 $_REQUEST[‘val'.$num]; $num++; //插入到需要獲取值的地方,每個(gè)需要獲取傳值的地方重復(fù)使用這串代碼即可 ?>
這組代碼主要用在表單input與request順序一致的情況下使用,如果不能一一對(duì)應(yīng)順序的話(huà),則會(huì)出現(xiàn)混亂。因此用的時(shí)候需要慎重!
提交數(shù)據(jù)庫(kù)的時(shí)候可以考慮使用foreach的方式將獲取的傳參處理成數(shù)組再插入數(shù)據(jù)庫(kù)會(huì)比較方便。
- input 輸入框獲得/失去焦點(diǎn)時(shí)隱藏/顯示文字(jquery版)
- jquery顯示隱藏input對(duì)象
- jQuery實(shí)現(xiàn)表單input中提示文字value隨鼠標(biāo)焦點(diǎn)移進(jìn)移出而顯示或隱藏的代碼
- jQuery 隱藏和顯示 input 默認(rèn)值示例
- jQuery通過(guò)改變input的type屬性實(shí)現(xiàn)密碼顯示隱藏切換功能
- jquery form 隱藏的input 選擇
- jQuery響應(yīng)鼠標(biāo)事件并隱藏與顯示input默認(rèn)值
- jquery獲取form表單input元素值的簡(jiǎn)單實(shí)例
- jQuery獲取及設(shè)置表單input各種類(lèi)型值的方法小結(jié)
- jquery 動(dòng)態(tài)增加,減少input表單的簡(jiǎn)單方法(必看)
- jQuery實(shí)現(xiàn)提交表單時(shí)不提交隱藏div中input的方法
相關(guān)文章
JQuery將字符串轉(zhuǎn)為json對(duì)象的四種方法
本文主要介紹了JQuery將字符串轉(zhuǎn)為json對(duì)象的四種方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-04-04jquery.flot.js簡(jiǎn)單繪制折線圖用法示例
這篇文章主要介紹了jquery.flot.js簡(jiǎn)單繪制折線圖用法,結(jié)合實(shí)例形式分析了jQuery插件jquery.flot.js實(shí)現(xiàn)圖形繪制的常用操作技巧,需要的朋友可以參考下2017-03-03使用jquery實(shí)現(xiàn)以post打開(kāi)新窗口
網(wǎng)絡(luò)上已有此功能的函數(shù),是以純JS實(shí)現(xiàn),本文為大家介紹的使用jquery實(shí)現(xiàn),需要的朋友可以參考下2014-03-03jQuery固定浮動(dòng)側(cè)邊欄實(shí)現(xiàn)思路及代碼
如果頁(yè)面比較高,當(dāng)滾動(dòng)條拖到頁(yè)面的下面的時(shí)候,側(cè)邊欄會(huì)出現(xiàn)一個(gè)固定跟隨瀏覽器的DIV框,下面將思路及具體實(shí)現(xiàn)與大家分享下2014-09-09jQuery實(shí)現(xiàn)判斷上傳圖片類(lèi)型和大小的方法示例
這篇文章主要介紹了jQuery實(shí)現(xiàn)判斷上傳圖片類(lèi)型和大小的方法,結(jié)合實(shí)例形式分析了jQuery針對(duì)上傳圖片屬性獲取、判定相關(guān)操作技巧,需要的朋友可以參考下2018-04-04jQuery $.each遍歷對(duì)象、數(shù)組用法實(shí)例
這篇文章主要介紹了jQuery $.each遍歷對(duì)象、數(shù)組用法實(shí)例,本文講解了在有參數(shù)和無(wú)參數(shù)的情況下遍歷對(duì)象及遍歷數(shù)組的例子及each方法的幾種常用用法,需要的朋友可以參考下2015-04-04使用jquery給新生的th綁定hover事件的實(shí)例
下面小編就為大家?guī)?lái)一篇使用jquery給新生的th綁定hover事件的實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-02-02