Ken*_*hou 0 javascript asp.net
假设我有一个文本框Mytbx,我的onchange事件有一个javascript.我把它挂在Page_Load事件后面的代码中,如:
Mytbx.Attributes.Add("onchange", "test();")
Run Code Online (Sandbox Code Playgroud)
然后我更改了此文本框的代码隐藏文本(例如,在按钮单击事件中):
Mytbx.Text = MyValue
Run Code Online (Sandbox Code Playgroud)
我希望onchange事件被解雇.但实际上,事实并非如此.当我点击按钮更改Mytbx的值时,没有任何事情发生.
如何解决这个问题?
只有在您直接输入内容并离开文本框时,才会在客户端触发onchange.因此,当您在代码中设置文本框值时,不会发生任何事情.
如果要在客户端处理文本更改事件:
<script>
function test(txt){
alert(txt.value);
};
</script>
<asp:TextBox ID="txt" runat="server" onchange="test(this);"></asp:TextBox>
Run Code Online (Sandbox Code Playgroud)
如果要在服务器端处理文本更改事件,可以执行以下操作:
HTML:
<asp:TextBox ID="txt" runat="server" OnTextChanged="txt_OnTextChanged" AutoPostBack="true"></asp:TextBox>
Run Code Online (Sandbox Code Playgroud)
CS:
protected void txt_OnTextChanged(object sender, EventArgs e)
{
// Do something
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
39363 次 |
| 最近记录: |