2010-12-12 13 views
1

指定した入力フィールドに入力された文字をキャッチするkeydownイベントを記述する必要があります。 cakePHPのjQueryを使ってこれを行う必要があります。cakePHPのjQuery keydownイベント

そして、私はこの関数をフォームのすべての入力テキストフィールドに対して一般的に機能させる必要があります。コードの配置場所を教えてください。そしてそれをコード化する方法は?

答えて

0

idydのフォームの中にあるタイプテキストを持つすべての入力エレメントにkeydownイベントをバインドするようなことができます。

$(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件近くの回答を考えれば、私は主に* this *と言うでしょう。 ;-) – Orbling

0

私は提案があります。常に控えめなJavaScriptテクニックを使用してください。彼らはまた、かなり薄い維持可能です。私の個人的な経験では、コントローラーでJavaScriptコードを使用してRailsを使用することで、多くの問題を抱えていました。同じことがCakePHPに適用されなければなりません。

0

私はjQueryのkeypress()のように使用することをお勧め:

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

変数のコードは、あなたがしたい場合は、その後、あなたはネイティブ機能に注意するfromCharCode()

物事を使用して変換することができ、文字のASCII番号になります:IEはkeypressを使用してバックスペースを検出せず、keydownおよびkeyupのみで検出します。

+0

ありがとうbarbiker。また、キーが押された入力フィールドのIDを取得する方法はありますか?つまり、keypressイベントは、フィールドのIDを取得できる一般的な関数でなければならず、そのidに基づいてコードを実行する必要があります。 – Phoenix

関連する問題