0

我的 ASP.NET Web 应用程序中有以下 Javascript 行:

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)

usingdocument.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);
           }
       }
4

2 回答 2

2

发送此文本框的控件 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...
}
于 2012-07-09T06:12:16.787 回答
1

您正在尝试将服务器端与客户端混合。它不是这样工作的。您需要将服务器阵列传输到服务器上的 javascript,然后您将能够在客户端访问其索引。

于 2012-07-09T06:09:31.547 回答