2010-11-20 76 views
2

我有這樣的一個頁面(在MasterPage.master)的頂部ASP.NET回車鍵觸發不需要的按鈕

<asp:Panel ID="panSearch" runat="server"> 
     <asp:TextBox ID="txtSearch" runat="server"></asp:TextBox> 
     <asp:ImageButton ID="btnSearch" runat="server" ImageUrl="~/images/iconSearch.gif" onclick="btnSearch_Click" /> 
    </asp:Panel> 

當我按下另一個文本框下的頁面回車鍵按鈕不斷被炒(在一個aspx頁面)

<input type="text" id="txtTagName"> 
<input type="button" value="Tag" id="btnAddTagOk"> 

我找不到任何可以做到這一點的JavaScript。

任何人都有任何想法爲什麼發生?

回答

2

按回車鍵提交默認形式。如果你有幾個你想要控制輸入按鈕的控件,你需要在控件上的javascript鉤子上攔截輸入按鍵,然後做你自己的邏輯。

像這樣的事情

<input type="text" id="txtTagName" onkeydown="if (event.keyCode == 13) document.getElementById('btnAddTagOk').click()"/> 
+0

我明白了,所以你需要event.preventDefault();在keydown。謝謝! – Aximili 2010-11-20 12:00:41

2

您可能有其他一些類型爲type="submit"的按鈕。在文本框上按下enter時,瀏覽器默認提交表單。

你可能想嘗試以下您asp:panel

<asp:Panel ID="panSearch" runat="server" DefaultButton="btnSearch"> 

</asp:Panel> 
+0

我試過了,但還是謝謝你 – Aximili 2010-11-20 11:56:08