亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 語言 > JavaScript > 正文

javascript巧用eval函數組裝表單輸入項為json對象的方法

2024-05-06 16:25:15
字體:
來源:轉載
供稿:網友

這篇文章主要介紹了javascript巧用eval函數組裝表單輸入項為json對象的方法,實例分析了JavaScript使用eval函數動態構造json對象的相關技巧,需要的朋友可以參考下

本文實例講述了javascript巧用eval函數組裝表單輸入項為json對象的方法。分享給大家供大家參考,具體如下:

在ajax方式做web開發時,經常會遇到會保存前,收集表單輸入項,組成json對象,然后把對象直接post到服務端的場景

常規做法是在js里寫類似如下的代碼:

 

 
  1. var myObj = {};  
  2. myObj.x = document.getElementById("x").value;  
  3. myObj.y = document.getElementById("y").value; 
  4. //...  
  5. //然后ajax post或get提交 

表單元素不多的時候,這樣還好,但是如果一個表單有好幾十項甚至更多輸入項的時候,寫這種代碼就太費勁了。

好在javascript中有一個邪惡的eval函數,可以幫我們完成一些類似c#反射的工作,比如下面這樣:

 

 
  1. eval('A={}'); 
  2. if (A.b==undefined) 
  3. A.b = {}; 
  4. eval('A.b.c = 1'); 
  5. alert(A.b.c); 

這樣,我們就動態創建了一個復合對象A,明白其中原理后,可以對表單做些改進:

 

 
  1. 運單號:<input type="text" name="AwbPre" value="112" style="width:40px"/>-<input type="text" name="AwbNo" value="12312311"/><br/> 
  2. 結算方式: 
  3. <select name="SettlementMode" style="width:100px"
  4. <option value="CASH" selected="selected">現金</option> 
  5. <option value="MONTH">月結</option> 
  6. </select> 
  7. <br/> 
  8. 不需要賦值的屬性:<input type="input" name="NotMe" value="NotMe ..." isModel="false"/> 
  9. <script type="text/javascript"
  10. function setFormModel(modelName){ 
  11. eval(modelName + "={}"); 
  12. var inputArr = document.getElementsByTagName("INPUT"); 
  13. for(var i=0;i<inputArr.length;i++){ 
  14. var isModel = inputArr[i].getAttribute("isModel"); 
  15. var itemName = inputArr[i].name; 
  16. var itemValue = inputArr[i].value;  
  17. if(isModel!="false"){ 
  18. eval(modelName + "." + itemName + "='" + itemValue + "';"); 
  19. }  
  20. var selectArr = document.getElementsByTagName("SELECT"); 
  21. for(var i=0;i<selectArr.length;i++){ 
  22. var isModel = selectArr[i].getAttribute("isModel"); 
  23. var itemName = selectArr[i].name; 
  24. var itemValue = selectArr[i].value;  
  25. if(isModel!="false"){ 
  26. eval(modelName + "." + itemName + "='" + itemValue + "';"); 
  27. }  
  28. return modelName;  
  29. setFormModel("AwbModel"); 
  30. alert("單號:" + AwbModel.AwbPre + "-" + AwbModel.AwbNo + "/n結算方式:" + AwbModel.SettlementMode + "/n不該有的屬性:" + AwbModel.NotMe); 
  31. </script> 

這樣,只要form元素的name屬性正確設置,需要收集表單對象時,調用一下setFormModel函數,就能快速得到一個json對象(當然這只是示例,僅處理了一級屬性的情況,如果有多級屬性,大家自己去擴展吧,無非就是字符串上做些文章)

希望本文所述對大家JavaScript程序設計有所幫助。


注:相關教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
伦伦影院午夜日韩欧美限制| 日韩成人高清在线| 91在线观看免费高清完整版在线观看| 久久精品国产久精国产思思| 国模私拍视频一区| 国产精品久久久久久久久久东京| 欧美影院成年免费版| 狠狠干狠狠久久| 人妖精品videosex性欧美| 欧美日本高清视频| 日韩精品中文在线观看| 欧美午夜精品久久久久久人妖| 国产精品久久久久久一区二区| 自拍偷拍亚洲区| 宅男66日本亚洲欧美视频| 亚洲电影成人av99爱色| 色婷婷综合久久久久| 久久亚洲精品国产亚洲老地址| 国产91在线播放| 91在线精品播放| 国产91精品久| 欧美日韩亚洲精品一区二区三区| 久久视频免费在线播放| 另类视频在线观看| 国产精品久久久久高潮| 色爱av美腿丝袜综合粉嫩av| 欧美疯狂性受xxxxx另类| 九九精品在线视频| 欧美高清视频一区二区| 亚洲成年网站在线观看| 91精品视频在线播放| 91九色视频在线| 奇米4444一区二区三区| 91色琪琪电影亚洲精品久久| 亚洲精品乱码久久久久久按摩观| 国产成人精品av在线| 国产自产女人91一区在线观看| 亚洲qvod图片区电影| 国产精品7m视频| 国产精品久久激情| 久久久久久这里只有精品| 欧美有码在线观看视频| 亚洲福利在线观看| 精品视频久久久久久| 国产精欧美一区二区三区| 欧美激情一区二区久久久| 国产综合在线看| 黄色精品一区二区| 欧美性xxxxx极品娇小| 日韩精品免费在线观看| 亚洲精品乱码久久久久久按摩观| 国产伊人精品在线| 欧美人与物videos| 欧美美最猛性xxxxxx| 2019中文字幕在线| 欧美国产日韩xxxxx| 欧美黄色片在线观看| 亚洲一区二区三区在线视频| 欧美肥臀大乳一区二区免费视频| 亚洲精品98久久久久久中文字幕| 午夜精品www| 国产日产久久高清欧美一区| 青草青草久热精品视频在线观看| 国模吧一区二区| 国产91精品黑色丝袜高跟鞋| 亚洲影影院av| 成人免费看黄网站| 欧美精品在线免费观看| 91精品国产亚洲| 亚洲男子天堂网| 亚洲精品国产精品乱码不99按摩| 日韩美女免费视频| 国产91av在线| 国产欧美日韩综合精品| 日本一区二区三区在线播放| 国产一级揄自揄精品视频| 精品视频一区在线视频| 日韩美女视频在线观看| 疯狂做受xxxx高潮欧美日本| 另类专区欧美制服同性| 91久久精品在线| 欧美日韩精品中文字幕| 国产成人精彩在线视频九色| 久久久精品一区二区| 国产精品女人久久久久久| 在线精品视频视频中文字幕| 北条麻妃99精品青青久久| 亚洲美女免费精品视频在线观看| 日韩高清免费在线| 国产欧美日韩视频| 中文字幕少妇一区二区三区| 91在线高清免费观看| 久久久国产在线视频| 国产精品小说在线| 亚洲第一区在线观看| 欧美日韩成人在线观看| 91chinesevideo永久地址| 最近更新的2019中文字幕| 久久青草精品视频免费观看| 2021久久精品国产99国产精品| 亚洲缚视频在线观看| 国产精品一区专区欧美日韩| 欧美老女人在线视频| 色综合色综合网色综合| 欧美成人精品不卡视频在线观看| …久久精品99久久香蕉国产| 成人网在线视频| 成人在线观看视频网站| 影音先锋欧美精品| 国产成人啪精品视频免费网| 欧美乱妇40p| 久久久99免费视频| 精品国产欧美成人夜夜嗨| 日本亚洲欧洲色α| 国产在线观看一区二区三区| 久久久免费精品视频| 亚洲国产另类久久精品| 国产精品久久久久不卡| 日韩成人在线网站| 日韩高清av一区二区三区| 美女福利精品视频| 亚洲国产精品人人爽夜夜爽| 日韩一区二区在线视频| 国产色婷婷国产综合在线理论片a| 亚洲美女www午夜| 亚洲第一精品电影| 日韩免费在线看| 亚洲人成网站免费播放| 色综合久久88色综合天天看泰| 欧美性猛交xxxx乱大交蜜桃| 成人女保姆的销魂服务| 欧美黄色小视频| 在线观看视频亚洲| 精品国产乱码久久久久久婷婷| 欧美情侣性视频| 日韩精品极品视频免费观看| 国产精品色午夜在线观看| 亚洲级视频在线观看免费1级| 亚洲级视频在线观看免费1级| 在线观看日韩欧美| 国产亚洲福利一区| 91超碰中文字幕久久精品| 亚洲第一天堂无码专区| 欧美性猛交xxxx免费看| 国产精品日日做人人爱| 日韩激情av在线免费观看| 久久伊人91精品综合网站| 亚洲精品国产精品国产自| 欧美激情在线有限公司| 欧美福利小视频| 亚州av一区二区| 热久久视久久精品18亚洲精品| 成人免费视频网| 欧美亚洲视频一区二区| 全亚洲最色的网站在线观看| 日韩欧美国产黄色| 国产精品日韩在线一区| 深夜福利一区二区| 亚洲精品久久久一区二区三区| 亚洲国产又黄又爽女人高潮的| 久久影院免费观看| 精品人伦一区二区三区蜜桃免费| 成人久久精品视频| 亚洲美女av在线|