ASP.NET Enter ключ запускает нежелательную кнопку - PullRequest
2 голосов
/ 20 ноября 2010

У меня это вверху страницы (в MasterPage.master)

    <asp:Panel ID="panSearch" runat="server">
      <asp:TextBox ID="txtSearch" runat="server"></asp:TextBox>
      <asp:ImageButton ID="btnSearch" runat="server" ImageUrl="~/images/iconSearch.gif" onclick="btnSearch_Click" />
    </asp:Panel>

Кнопка продолжает срабатывать, когда я нажимаю клавишу ввода на другом TextBox вниз по странице (на странице aspx)

<input type="text" id="txtTagName">
<input type="button" value="Tag" id="btnAddTagOk">

Я не смог найти JavaScript, который это делает.

Кто-нибудь знает, почему это происходит?

Ответы [ 2 ]

2 голосов
/ 20 ноября 2010

Нажав Enter, вы отправите форму по умолчанию.Если у вас есть несколько элементов управления, которые вы хотите контролировать кнопкой ввода, вам нужно подключить javascript к элементу управления, чтобы перехватить нажатие клавиши ввода, а затем выполнить свою собственную логику.

Что-то вроде этого

<input type="text" id="txtTagName" onkeydown="if (event.keyCode == 13) document.getElementById('btnAddTagOk').click()"/>
2 голосов
/ 20 ноября 2010

у вас может быть другая кнопка с типом type="submit". Браузер по умолчанию отправляет форму при нажатии enter в текстовых полях.

Вы можете попробовать подписаться на asp:panel

<asp:Panel ID="panSearch" runat="server" DefaultButton="btnSearch">

</asp:Panel>
...