IE не перехватывает клавишу Enter для отправки формы - PullRequest
1 голос
/ 01 июля 2011

У меня есть простая форма с одним текстовым полем, которое передает данные в 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 ]

5 голосов
/ 01 июля 2011

Установите DefaultButton -Свойство в форме-теге:

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

Вы также можете установить DefaultButton на ASP.NET-панелях. Это может быть не важно в этом случае, но

  • когда вы используете MasterPages, потому что идентификатор кнопки в ContentPage неизвестен в MasterPage (Form-Tag находится внутри главной страницы)
  • если вы хотите иметь более одной кнопки DefaultButton, вы можете установить разные кнопки DefaultButton для каждой панели
0 голосов
/ 01 июля 2011

Если у вас есть рекурсивные элементы формы (что противоречит стандартам), то IE в основном игнорирует ключ ввода и не отправляет форму при ее обнаружении, поскольку не знает, какую форму вы пытаетесь отправить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...