2011-06-30 43 views
1

我有一个简单的表单,其中有一个文本框将数据传递给SQL,我希望它在用户敲入回车键时提交。IE没有捕捉输入表单提交的键

在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)?

+0

这真的什么都没有显示。那么驱动cmdclick的vb代码呢?另外,IE8/9中究竟是什么部分“不工作”? – ginman

+0

它显示足以让Tim回答 – Tim

回答

5

一套表格,标签的DefaultButton,物业:

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

您还可以设置在ASP.NET的面板的DefaultButton。这可能不是重要的,这种情况下,但

  • 当你使用MasterPages,因为在ContentPage按钮的ID是在母版未知(格式标记为母版内)
  • 当你想拥有一个以上的DefaultButton可以设置不同的DefaultButtons到每一个面板
+1

值得注意的是,Panel控件也具有DefaultButton属性。因此,如果您的网页上有不同的文本框,对“回车”应该有不同的回应,那么您可以将文本框放在单独的面板中,并设置每个DefaultButton属性 – Icemanind

+0

@icemanind:这是正确的,我已经编辑了我的答案这方面。 –

+0

谢谢Tim不能相信我错过了那么小的东西,非常感谢你的帮助 – Tim

0

如果你有递归形式元素(这是对标准的符合性),那么IE将基本忽略回车键,而不是提交表单时,它是因为它不知道您尝试提交哪种表单。