我在aspx页面上取了三个文本框。 JavaScript函数与这些文本框关联为:
TextBox1.Attributes.Add("onkeypress","MyFunction()");
TextBox2.Attributes.Add("onkeypress","MyFunction()");
TextBox3.Attributes.Add("onkeypress","MyFunction()");
MyFunction()
在JavaScript文件中定义。
我想要的是获取JavaScript函数本身与函数关联的文本框的控件ID。也就是说,JavaScript函数应该如下所示:
function MyFunction() {
var myControl = ?;
alert("Key press event occured in "+myControl.ID);
}
我需要?
的值。我应该在那里写什么,以便我可以获得控件ID,即事件发生的TextBox1
,TextBox2
或TextBox3
?
我知道<% =TextBox1.ClientID %>
会在客户端提供TextBox1
的ID。但我认为,当我使用文本框附加onkeypress事件时,我应该在JavaScript函数本身中获取源代码控制ID。
答案 0 :(得分:4)
尝试:
TextBox1.Attributes.Add("onkeypress","MyFunction(this)");
当评估this
的代码时,JS会将对小部件的引用放入onkeypress
。