2011-02-15 81 views
1

我遇到了一個非常奇怪的事件與IE瀏覽器中的ASP.NET onclick事件(其他瀏覽器似乎沒有這個問題)。當表單中只有一個文本框時,當您輸入文本並按Enter/Return時,onclick事件不會觸發。當你點擊實際的提交按鈕時,事件發生。當表單中有兩個或多個字段時,按Enter/Return鍵即可。按鈕OnClick事件不以一個文本框形式發射

這很奇怪。以爲這是我的IE瀏覽器,但檢查其他機器,並且他們每個人都有同樣的問題。

我不得不設置這個非常簡單的頁面作爲測試:

<%@ Page Language="C#" %> 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

<script runat="server"> 
    protected void btnSubmit_Click(object sender, EventArgs e) 
    { 
     Response.Write(((Button)sender).Text); 
    } 
</script> 

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <title></title> 
</head> 
<body> 
    <form id="form1" runat="server"> 
    <div> 
    <asp:TextBox ID="txtBox1" runat="server"></asp:TextBox> 
    <asp:TextBox ID="txtBox2" runat="server" ></asp:TextBox> 
    <asp:Button ID="btnSubmit" OnClick="btnSubmit_Click" Text="Submit" runat="server" /> 
    </div> 
    </form> 
</body> 
</html> 

當文本框的一個被刪除,btnSubmit_Click事件不會如預期的行爲。

+0

哪個框架版本? – NotMe 2011-02-15 20:10:13

+0

它適合我... – Chandu 2011-02-15 20:10:27

回答

4

PanelFormdefaultButton屬性用於確保輸入密鑰提交。通常人們習慣於輸入密鑰提交,如果它被禁用,它可能會在某些時候煩人。

defaultButton確實提供了一種方法,可以在焦點位於頁面的各個部分時處理Enter鍵。

來源:multiple submit buttons and the enter key

相關問題