Обрабатывать нажатие клавиши с помощью текстового поля

#jquery #asp.net #event-handling #keypress

#jquery #asp.net #обработка событий #нажатие клавиши

Вопрос:

Я пытаюсь разрешить пользователю вводить только числовые символы в текстовое поле, однако, когда я запускаю программу, она говорит

 Unhandled exception at line 310, column 1 in Function code
0x800a138f - Microsoft JScript runtime error: Object expected
  

Он выделяет keypresshandler (событие).

Вот мой код:

jquery.js

 function myFunction() {

if ((e.shiftKey || (e.keyCode < 48 || e.keyCode > 57)) amp;amp; (e.keyCode < 96 || e.keyCode > 105)) {
    e.preventDefault();
}

}
  

Default.aspx

 <asp:TextBox ID="SortOrderTextBox" runat="server" Height="10px" Text='<%# Eval("SortOrder") %>' Font-Size="Small"/>
                    <input type="text" onkeydown="myFunction()" />
  

Ответ №1:

Это работает для вас:

 <input type="text" onkeypress="myFunction()">
  

Измените myFunction () на имя вашей функции или что бы вы ни просили ее сделать.

Комментарии:

1. Я все еще получал ту же ошибку. Должен ли я что-либо изменить в asp: TextBox?

2. предполагается, что вы добавляете функцию в поле JavaScript и указываете ей делать то, что вы хотите.

3. По сути, то, что вы пытаетесь сделать, это: jsfiddle.net/VDd6C/3 но запустите его сразу после нажатия клавиши или из W3C: w3schools.com/jsref/tryit.asp?filename=tryjsref_onkeyup

4. Я отредактировал приведенный выше код. Он по-прежнему выдает ту же ошибку. Есть ли способ обработать e в методе myFunction при нажатии клавиши?