2015-05-12 27 views
2

我有这样的:onkeyup事件似乎不能引发或者被忽略

txtNew.Attributes.Add("onkeyup", "alert('hi');"); 

但是,当我在文本框中键入 - 无警报大作。我只是打字并打字,并且没有任何警报出现。为什么这不起作用?

在IE 11,Chrome 42.0和FF 37.0中试过。使用.NET 4.0。

还尝试了“onkeypress”事件。相同的结果。我无法让警报出现。

文本框的定义是:

asp:TextBox ID="txtNew" TextMode="Password" runat="server" MaxLength="256 

试图消除的TextMode属性,但结果还是一样。

最后,我想要做的是这样的:

txtNew.Attributes.Add("onkeyup", "CheckChars()"); 

哪里CheckChars()是我的JS脚本。然而,当它不起作用时,我只是把一个'alert()'放在那里,看看是否会有效。

+0

您是否查看了呈现的HTML以查看您的属性是否以任何形式实际存在于文本框中?你什么时候添加属性(在哪个事件处理程序中)? –

+0

尝试txtNew.Attributes [“onclick”] =“alert(”Hello World“)”;未经测试,但应该工作 – maximdumont

+0

您是否在代码隐藏(从.cs页面)或JavaScript(在客户端)尝试这样做? –

回答

0

你不能只引用一个控件的ID来引用它在JavaScript中。你需要真正得到使用

var txtNew = document.getElementById("txtNew"); 
txtNew.Attributes.Add("onkeyup", "alert('hi');"); 

编辑控件的引用:其实是这样的代码在JavaScript或在你的代码隐藏?这个问题还不清楚。

+0

此代码位于代码隐藏中。 – BPan