代码:
<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键?
答案 0 :(得分:2)
您设置表单默认按钮:
<form id="Form1"
defaultbutton="SubmitButton"
runat="server">
或者您可以在代码中执行此操作 - Page_load:
Page.Form.DefaultButton = btnSearch.UniqueID;
另一个有用的提示是,您也可以在default button
上设置asp:panel
。将“表单”包装到面板中或多个面板中,可以按submit
设置多个Panel Control
按钮:
<asp:Panel runat="server" id="pnlForm1" DefaultButton="btnSubmit">
<asp:Button runat="server" id="btnSubmit"/>
</asp:Panel>
答案 1 :(得分:1)
您可以将两个框放在单独的Panel中,并为每个Panel设置DefaultButton。
UPDATE 如果您使用Button,DefaultButton将起作用,LinkButton仅适用于IE,有一些解决方法:
答案 2 :(得分:1)
使用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;
HtmlForm.DefaultButton Property
Using Panel.DefaultButton property with LinkButton control in ASP.NET