2010-09-23 118 views
1

在我的Web窗體中,我有一個Textbox控件。 TextboxTextChanged事件未觸發。 AutoPostBack設置爲trueTextBox.TextChanged事件不會在IE7上觸發

這可能是什麼原因? 下面是代碼:

protected void Textr_TextChanged(object sender, System.EventArgs e) 
{ 

} 

<asp:TextBox ID="Textr" TabIndex="10" Style="z-index: 117; left: 500px; 
          position: absolute; top: 158px" runat="server" Height="22px" Width="180px" MaxLength="50" 
          AutoPostBack="True" CausesValidation="true" OnTextChanged="Textr_TextChanged" 
          ></asp:TextBox> 
+1

我假設你已經通過執行類似掛鉤的事件文本框_textBox.TextChanged + = TextSerialNumber_TextChanged;??? – 2010-09-23 12:05:32

+0

什麼1E7 ... – Heinzi 2010-09-23 12:09:36

+0

對不起它IE7 .. – stacknewbee 2010-09-23 12:14:30

回答

1

是否有任何驗證控件這個文本框沿形式?我看到你有causevalidation顯式設置爲true(我相信是默認狀態)。嘗試刪除它,看看它是否觸發。如果回發掛在驗證控件上,您的事件處理程序將不會觸發。

我的兩分錢。

+0

否:(即使移除原因驗證後也不工作。 – stacknewbee 2010-09-23 12:48:33

0

它在休息瀏覽器中工作嗎?不要忘記,這個事件被解僱,然後控制失去焦點。 :)輸入後嘗試點擊文本框外部。

+0

是嘗試擁有2個文本框並將其更改將事件和Tab移出到下一個TextBox。看看這是否引發了事件。 – 2010-09-23 13:48:05

+0

我有IE8,我使用IE7仿真功能,它對我來說工作得很好。你有測試代碼嗎?你可以分享嗎? – Danil 2010-09-23 13:54:49

0

它可能會被你在同一頁面上使用的一些javascript搞砸了,否則你可以通過爲此做一個樣本來確定自己是否是IE7問題。非常高的水平,它看起來像JavaScript搞砸了吵鬧聲。

1

我剛剛在文檔中的其他地方添加標準HTML輸入控件後出現問題。在此之後,TextBox1.TextChanged停止工作。

我的解決辦法是把文本框爲跨度的onclick事件被一隻看不見的按鈕這樣的方式確保回傳:

=========

原文:

{ASP:文本框ID = 「TextBox1中」 RUNAT = 「服務器」/}

=========

解決方案:

{跨度的onclick = 「的document.getElementById( 'btn_ToForcePostback')點擊();」}

{ASP:文本框ID = 「TextBox1中」 RUNAT = 「服務器」/}

{/跨度}

{asp:Button ID =「btn_ToForcePostback」runat =「server」text =「」style =「width:0px;高度:0像素「/}


({和}應改爲‘小於’和‘大於’字符)