我有一个 ASP.NET 应用程序,其中有几个 ASP.NET 按钮和几个纯 HTML 按钮。只要有一个文本框,用户按 Enter 键,ASP.NET 按钮就会尝试提交表单。
我知道我可以更改defaultButton
,但我不希望有任何默认按钮。我只是想要它,所以当用户按下回车键时它不会做任何事情。
我试过设置defaultButton
为空白,但这似乎不起作用。按下回车键时,如何防止 ASP.NET 按钮提交表单?
我有一个 ASP.NET 应用程序,其中有几个 ASP.NET 按钮和几个纯 HTML 按钮。只要有一个文本框,用户按 Enter 键,ASP.NET 按钮就会尝试提交表单。
我知道我可以更改defaultButton
,但我不希望有任何默认按钮。我只是想要它,所以当用户按下回车键时它不会做任何事情。
我试过设置defaultButton
为空白,但这似乎不起作用。按下回车键时,如何防止 ASP.NET 按钮提交表单?
您可以设置按钮的 UseSubmitBehavior = false
btnCategory.UseSubmitBehavior = false;
这是我用来解决此问题的方法。
<form runat="server" defaultbutton="DoNothing">
<asp:Button ID="DoNothing" runat="server" Enabled="false" style="display: none;" />
我的 MasterPage(注销按钮)上的 ImageButton 也被设置为默认按钮(因此每当有人按下 Enter 时,它都会将其注销)。我通过在每个子页面上的 Page_Load 事件中使用以下行来解决它,这是一种解决方法,但它有效:
Form.DefaultButton = cmdSubmit.UniqueID;
希望这对其他人有帮助。
<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;
}