[問題] JS全域變數如何透過網頁控制項動態賦值?

看板C_Sharp (C#)作者 (王建民)時間13年前 (2012/03/09 15:43), 編輯推噓3(306)
留言9則, 3人參與, 最新討論串1/1
基於某些理由以及描述方便,我寫了以下一段的JS碼。 <head><title> 未命名頁面 </title> <script type="text/javascript"> var Point_1; var Point_2; var Point_3; var Point_4; var Point_5; function cbChange(PointName,ControlName,Value) { if (document.getElementById(ControlName).checked == true) { PointName = Value; alert(PointName); //alert(Point_1);//註記 } if (document.getElementById(ControlName).checked == false) { alert(PointName); } } </script> </head> <body> <form name="form1" method="post" action="default.aspx" id="form1"> <div> <input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUJNzgzND\ MwNTMzZGRZmWsrNGbPJujnk93ixuFe+HAvUQ==" /> </div> <div> <input id="cb_1" type="checkbox" name="cb_1" onclick="cbChange(Point_1,'cb_1',1);" /> <input id="cb_2" type="checkbox" name="cb_2" onclick="cbChange(Point_2,'cb_2',2);" /> <input id="cb_3" type="checkbox" name="cb_3" onclick="cbChange(Point_3,'cb_3',3);" /> <input id="cb_4" type="checkbox" name="cb_4" onclick="cbChange(Point_4,'cb_4',4);" /> <input id="cb_5" type="checkbox" name="cb_5" onclick="cbChange(Point_5,'cb_5',5);" /> </div> </form> </body> </html> 網頁佈署後,點按checkbox,勾選(checked=true)時顯示正常。 但反勾選(checked=false)時,其值顯示undifined. 註記:實際上我通過檢查,其實在第一階段就沒有賦值到全域變數上了。 我的疑問與需求是,如何透過網頁控制項,動態賦值JS全域變數? 備註:我基於以下理由,衍生了上述特殊要求 (1)checkbox控制項,乃成千上萬,其賦值(Value),為經由資料庫讀取而出的資料, 透過控制項動態佈署完成。 (2)關於JS函數--cbChange。 原先的做法是新增一組checkbox,就新增一組函數來服務之,運作上沒有問題, 但當checkbox數量越來越多時,函數也必須等量增加,網頁大小因此暴漲, 因此衍生撰寫一通用JS函數,來服務控制項賦值的想法。 (因為ASP.NET(C#)程式設計師,應常會有控制項與JS碼配合的需求, 不知版上有無先進撰寫過類似的語法,望不吝提示。) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.115.61.67

03/09 20:28, , 1F
先了解一下 你這個是執行後的html 原始碼還是
03/09 20:28, 1F

03/09 20:28, , 2F
在aspx頁面那邊看的
03/09 20:28, 2F

03/10 14:32, , 3F
透過伺服器端程式動態產生HTML控制項 以及JS函式碼
03/10 14:32, 3F

03/10 14:34, , 4F
想要寫"一組"通用函式 來服務動態產生的HTML"控制項們"
03/10 14:34, 4F

03/10 14:36, , 5F
也因此 尚需指定控項名稱與欲賦值的全域變數名
03/10 14:36, 5F

03/10 14:38, , 6F
而所衍生的問題 - 如何透過網頁控制項賦值JS全域變數
03/10 14:38, 6F

03/10 17:16, , 7F
動態新增有很多種寫法
03/10 17:16, 7F

03/10 17:18, , 8F
看你要不私信給我留個MSN我在跟你問
03/10 17:18, 8F

03/14 08:27, , 9F
onclick="cbChange(Index of Var-Array,'cb_1',1);" />
03/14 08:27, 9F
文章代碼(AID): #1FMRIeeT (C_Sharp)
文章代碼(AID): #1FMRIeeT (C_Sharp)