Нежелательный вызов события onClick для кнопки после нажатия Enter - PullRequest
0 голосов
/ 18 июня 2011

net web page У меня есть текстовое поле и кнопка.

Я добавил onClick для кнопки.

Проблема в том, что если я нажимаю ввод в textBox, он также вызывает событие onClick для кнопки. Я понимаю, почему.

Мой код здесь:

TextBox в поле зрения:

                      <asp:View ID="BlView" runat="server">
                           <p class="tabHead"> BLACK LIGHT LABEL DATA </p>
                            <table class="tab">
                                <tr>
                                    <td>
                                        <asp:Label ID="Label1" runat="server" class="label" Text="BARCODE" />
                                    </td>
                                    <td>
                                        <asp:TextBox ID="bl_tb_barcode" runat="server" BorderWidth="1px" 
                                            class="textBox"  Width="700"/>
                                    </td>
                                </tr>
                            </table>
                     </asp:View> 

Код кнопки здесь:

       <div class="divPrinter">
        <asp:DropDownList runat="server" class="dropDownList" Width="250" Height="35" 
            ID="cbPrinters" style="margin-top:80px"/>
        <asp:Button ID="btnPrint" runat="server" class="btnPrint" style="margin-top:80px"
            Width="120" Height="35"  Text="Print" onclick="BtnPrintClick"  />
        </div>

1 Ответ

2 голосов
/ 18 июня 2011

Я так понимаю, вы не хотите, чтобы клавиша Enter имела какой-либо эффект? Если это так, добавьте этот тег в ваши текстовые поля:

onKeyDown = "return (event.keyCode != 13)"

так было бы так:

<asp:TextBox ID="bl_tb_barcode" runat="server" BorderWidth="1px" 
     class="textBox"  Width="700" onKeyDown="return (event.keyCode != 13)"/>

В качестве примечания, onKeyDown - это событие Javascript, поэтому оно не будет выполняться на сервере. Код вернет false, поэтому обратный вызов не произойдет.

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