将ASP.NET元素传递给JavaScript函数
本文关键字:JavaScript 函数 ASP NET 元素 | 更新日期: 2023-09-27 18:27:35
我创建了以下文本框和标签:
<asp:TextBox ID="MyTextBox" runat="server"/>
<asp:Label ID="MyLabel" runat="server"/>
此外,我还创建了以下JavaScript函数:
function characterLimit(myTextBox, myLabel)
{
myLabel.innerHTML = myTextBox.value.length + '/' + myTextBox.maxLength;
}
最后,在后面的代码中,我执行了以下操作:
TextBox1.Attributes.Add("OnKeyUp", "characterLimit(MyTextBox, MyLabel);");
调用characterLimit()
。然而,什么也没发生;就好像我不正确地通过了CCD_ 2和CCD_。正确的方法是什么?
使用ClientID
属性。如果您开始使用MasterPages
,这将有助于更改控件IDs
。
但是,在这种特定的情况下,我想这只是在作为参数发送时在IDs
周围加引号。
TextBox1.Attributes.Add("OnKeyUp", "characterLimit('" + MyTextBox.ClientID + "','" + MyLabel.ClientID + "');");
根据评论中的建议,您还应该稍微更改Javascript
代码:
function characterLimit(myTextBox, myLabel)
{
document.getElementById(myLabel).innerHTML = myTextBox.value.length + '/' + document.getElementById(myTextBox).maxLength;
}
作为提示,你试过jQuery
了吗?