#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 при нажатии клавиши?