代码 :
<form id="form1" runat="server">
<div>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
</div>
</form>
如果我单击输入字段并按 Enter,它不会提交任何内容。为什么?以及如何确定每个输入框按 Enter 键调用哪个页面?
您设置表单默认按钮:
<form id="Form1"
defaultbutton="SubmitButton"
runat="server">
或者您可以在代码中执行此操作 - Page_load:
Page.Form.DefaultButton = btnSearch.UniqueID;
另一个有用的提示是您也可以设置default button
on asp:panel
。将您的“表单”包装到一个面板或多个面板中,这样您就可以设置多个submit
按钮Panel Control
:
<asp:Panel runat="server" id="pnlForm1" DefaultButton="btnSubmit">
<asp:Button runat="server" id="btnSubmit"/>
</asp:Panel>
您可以将两个框放在单独的面板中,并为每个面板设置 DefaultButton。
如果您使用 Button,则更新DefaultButton 将起作用,LinkButton 仅在 IE 中起作用,有一些解决方法:
使用 Jquery 来解决它:
$(document).ready(function () {
$('body').bind('keypress', function (e) {
var code = (e.keyCode ? e.keyCode : e.which);
var button = $("#<%= SubmitButton.ClientID %>");
if (button != null && code == 13) {
button.click();
}
});
})
或在 C# 中
Page.Form.DefaultButton = SubmitButton.UniqueID;