2010-12-13 2 views
3

У меня есть div, который динамически загружается на мою страницу с помощью запроса ajax. В этом div у меня есть отдельный ввод всех с одним и тем же классом, но разные IDКомбинация клавиш, нажатия клавиш и событий onblur в jquery

Эти входы имеют функцию нажатия клавиш, функцию нажатия клавиш и функцию onblur.

Проблема в том, что я хочу, чтобы пользователь мог вводить цифры и использовать ТАБУЛАТОР.

Я использую эту функцию здесь

function validatenum(event) { 
    var key = window.event ? event.keyCode : event.which; 

    if (event.keyCode == 8 || event.keyCode == 9 || event.keyCode == 46 
     || event.keyCode == 37 || event.keyCode == 39 
    ) { 
     return true; 
    } else if (key < 48 || key > 57) { 
     return false; 
    } else { 
     return true; 
    } 
} 

и я называю его:

<input type="text" id="31_w_pr" class="order_sizes" 
    onkeypress="validatenum(event);" /> 

Но это не работает. Я могу напечатать все, что захочу.

У кого-нибудь есть идея, как это исправить?

Благодаря

+0

Вам не нужно вызывать 'event.preventDefault();' когда вы хотите, чтобы keypress не вступил в силу? – Orbling

+0

Sry, я не понимаю, что вы имеете в виду. Пожалуйста, будьте терпеливы, я из Германии и не понимаю всего: -S – Jings

ответ

2

Try:

<input type="text" id="31_w_pr" class="order_sizes" 
    onkeypress="return validatenum(event);" /> 

Попробуйте здесь: http://jsfiddle.net/andrewwhitaker/afqf9/

Однако рассмотрим separating your JavaScript and HTML.

+0

Это отлично работает! – Jings

+0

@Jings: Удивительно! Рад, что смог помочь. Примите ответ, если он сработает для вас! –

Смежные вопросы