2010-12-12 3 views
1

Мне нужно написать событие keydown, которое поймает символы, введенные в указанное поле ввода. Мне нужно сделать это, используя jQuery в cakePHP.jQuery событие keydown в cakePHP

И мне нужна эта функция для работы в целом для всех текстовых полей ввода в форме. Скажите, пожалуйста, где разместить код? И как его кодировать?

ответ

0

У вас может быть нечто вроде этого, которое связывает событие keydown со всеми элементами ввода с текстом типа, находящимся внутри формы с идентификатором yourformid.

$(function(){ 
    $("#yourformid input:text").bind("keydown", function(){ 
     var currentElemID = this.id; 
     //if you want to convert the current element to a jQuery object then you can use $(this) 
    }); 
}); 
+0

@rahul, спрашивая случайно, вне контекста вопрос, что вы делаете ?? – kobe

+0

http://stackoverflow.com/users/47738/rahul – rahul

+0

@gov Учитывая почти 1700 ответов, я бы сказал * это * в основном. ;-) – Orbling

0

У меня есть предложение. Всегда используйте ненавязчивые методы JavaScript. они поддерживаются также довольно тонкие. В моем личном опыте у меня было много проблем, используя Rails с кодом JavaScript в контроллерах. То же самое относится к CakePHP.

0

Я предлагаю использовать JQuery-х keypress() как:

$("#field").keypress(function(event){ var code = event.which}); 

код переменной будет номер ASCii персонажа, а затем, если вы хотите, вы можете преобразовать, используя встроенную функцию fromCharCode()

Things отметить : IE не будет обнаруживать backspace с помощью нажатия клавиши, только при нажатии и нажатии клавиши.

+0

Спасибо, барбикер. Кроме того, есть ли способ получить идентификатор поля ввода, в котором был нажат ключ? т. е. событие нажатия клавиши должно быть общей функцией, которая может получить идентификатор поля и на основе этого идентификатора он должен делать код! – Phoenix

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