IE没有捕获表单提交的Enter键

时间:2011-06-30 20:08:26

标签: asp.net vb.net webforms

我有一个简单的表单,其中有一个文本框将数据传递给SQL,我希望它在用户点击回车键时提交。

在Firefox中,这很有用。用户输入数字命中输入返回结果。

然而,在IE 8和IE 9中,这不起作用。

<form id="form1" runat="server" accept="cmdclick" 
style="background-position: center; background-image: url('BG.gif'); background-repeat: no-repeat;">
<div style="text-align: center">
<br /><br /> <br /><br /><br /> <br /><br /><br />
    <asp:TextBox ID="txttrack" runat="server" Height="20px" 
        Width="175px" Wrap="False"></asp:TextBox>  
    <asp:Button ID="cmdclick" runat="server" 
        CommandName="cmdclick" BackColor="White" BorderStyle="None"  />

我不确定会导致这种情况。我看到很多人使用JavaScript来解决问题,但我不知道如何编写JavaScript代码。

如何做到这一点(最好不使用JavaScript)?

2 个答案:

答案 0 :(得分:5)

在表格标记中设置DefaultButton - 属性:

<form defaultbutton="cmdclick" runat="server">

您还可以在ASP.NET-Panel上设置DefaultButton。在这种情况下,这可能不重要,但

  • 当您使用MasterPages时,因为ContentPage中的Button的ID在MasterPage中是未知的(Form-Tag在Masterpage中)
  • 如果您想拥有多个DefaultButton,可以为每个Panel设置不同的DefaultButtons

答案 1 :(得分:0)

如果您有递归表单元素(违反标准),那么IE基本上会忽略输入键,并且在检测到表单时不提交表单,因为它不知道您尝试提交哪种表单。