2015-05-12 57 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