21

我有一个 ASP.NET 应用程序,其中有几个 ASP.NET 按钮和几个纯 HTML 按钮。只要有一个文本框,用户按 Enter 键,ASP.NET 按钮就会尝试提交表单。

我知道我可以更改defaultButton,但我不希望有任何默认按钮。我只是想要它,所以当用户按下回车键时它不会做任何事情。

我试过设置defaultButton为空白,但这似乎不起作用。按下回车键时,如何防止 ASP.NET 按钮提交表单?

4

4 回答 4

36

您可以设置按钮的 UseSubmitBehavior = false

btnCategory.UseSubmitBehavior = false;
于 2009-09-24T18:52:39.610 回答
26

这是我用来解决此问题的方法。

<form runat="server" defaultbutton="DoNothing">
        <asp:Button ID="DoNothing" runat="server" Enabled="false" style="display: none;" />
于 2010-04-16T20:49:47.243 回答
1

我的 MasterPage(注销按钮)上的 ImageButton 也被设置为默认按钮(因此每当有人按下 Enter 时,它都会将其注销)。我通过在每个子页面上的 Page_Load 事件中使用以下行来解决它,这是一种解决方法,但它有效:

Form.DefaultButton = cmdSubmit.UniqueID;

希望这对其他人有帮助。

于 2016-07-06T10:14:51.393 回答
0
<asp:TextBox ID="TXT_Quality" runat="server" Width="257px" 
onkeypress="return key_Pressed(event, this);">
</asp:TextBox>   

function key_Pressed(e, textarea)
 {
    var code = (e.keyCode ? e.keyCode : e.which);
    if(code == 13) 
    { 
       return false;
    }
    return true;
 }
于 2014-03-14T12:11:38.270 回答