簡體   English   中英

使用Javascript訪問ASP.NET控件

[英]accessing ASP.NET controls in Javascript

我的ASP.NET Web應用程序中包含以下Java語言行:

document.getElementById('<%=myTextBox[0].ClientID %>').value = "test";

如何訪問myTextBox元素? 例如,我想更改此服務器端數組的第5個元素,我想將服務器端參數傳遞給我的函數,該怎么辦?

例如:

server side:
ddl.Attributes.Add("onChange", "return OnFoodChange(this,'" + i + "');");


javascript function:
function OnFoodChange(myCmb,myIndex)

使用document.getElementById('<%=myTextBox[myIndex].ClientID %>').value = "test"; 給我錯誤,它表示未定義myIndex,我認為因為myIndex的用法類似於服務器端參數,我該如何解決呢?

這是我完整的JavaScript函數:

   function OnFoodChange(myCmb,myIndex) {
               //alert('5');
try{
               var q = document.getElementById('<%= HFFoodPrice.ClientID %>').value.toString();
           var q2 = q.split(';');
           var index = 0;
           //alert(myCmb.selectedIndex.toString());

           //var e = document.getElementById(myCmb);
           var strUser = myCmb.options[myCmb.selectedIndex].value;

           document.getElementById('<%=myTextBox[0].ClientID %>').value = strUser;

           for (var j = 0; j < q2.length; j++) {
               if (q2[j] != '') {
                   var q3 = q2[j].split(',');
                   {

                   }
               }
           }
           }
           catch(err)
           {
           alert(err.message);
           }
       }

發送此文本框控件ID而不是發送索引,因為asp.net控件ID可能不符合您的預期,

在后面的代碼中

ddl.Attributes.Add("onChange", "return OnFoodChange(this,'" + myTextBox[i].ClientID + "');");

在HTML中

function OnFoodChange(myCmb,myTextBoxId) {
 currentTextBox = document.getElementById(myTextBoxId);
//Your code...
}

您正在嘗試將服務器端與客戶端混在一起。 它不能像這樣工作。 您需要將服務器數組傳輸到服務器上的javascript,然后才能在客戶端上訪問其索引。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM