2010-01-22 49 views
3

我有一個用asp.net/C#編寫的簡單表單,當試圖在表單的輸入框中輸入時不會提交表單。我已經建立了一個修補程序前一個臭蟲,按下Enter鍵只會刷新頁面,而無需提交表單數據,但現在按回車少了點什麼,修復低於:IE 8 - 當用戶按下輸入鍵時不提交ASP.NET表單提交

<div style="display: none"> 
    <input type="text" name="hiddenText" /> 
</div> 

有人知道這個或修復解決方法?

+0

我認爲它工作在其他瀏覽器? – AlishahNovin 2010-01-22 16:32:42

回答

5

我假設你有一個按鈕某處您的網頁上,以及爲它的事件處理程序。

您是否嘗試過在面板控件中包裝您的窗體(使用按鈕)並設置默認的按鈕屬性?

<asp:Panel id="pnlMyForm" runat="server" DefaultButton="btnMyButton"> 
<asp:textbox id="txtInput" runat="server" /> 
<asp:Button id="btnMyButton" text="Submit" runat="server" /> 
</asp:Panel> 
+0

哈哈,實際上是11秒鐘:) +1 – 2010-01-22 16:38:21

+0

感謝凱爾/凱文,完美的工作,只是不得不刪除我的「修復」舊的bug,提高了凱文的回答他的一些代表 – Jimmy 2010-01-22 18:01:14

4

您可以爲表單指定一個默認按鈕,這意味着在任何輸入控件上按回車會觸發該按鈕(即,定位提交按鈕)。我沒有聽說過這在任何特定瀏覽器中都不起作用。這應該會消除您對解決方法/破解的需求。

<form id="form1" runat="server"> 
    <asp:Panel ID="pnlFormContents" runat="server" DefaultButton="btnSubmit"> 
     <!-- add some input controls as needed --> 
     <asp:Button ID="btnSubmit" runat="server" Text="Submit" OnClick="btnSubmit_Click"/> 
    </asp:Panel> 
</form> 

希望這有助於...

+0

偉大的思想家都認爲,我認爲我們同時提交。 +1 – 2010-01-22 16:37:14

0

我不記得規則的細節,但大多數瀏覽器都ENTER時,如果條件滿足按下提交表單的能力。我認爲這與你是否有1個或多個字段有關,或者是否至少有一個提交按鈕(即使你隱藏了它)。我在最近做過的一個網站上完成了它,但是我沒有代碼,但我可以告訴你它沒有任何特殊的腳本。檢查此公告的詳細信息:

http://manfred.dschini.org/2007/09/20/submit-form-on-enter-key/