2012-07-11 11 views
8

私はhtml形式です。ユーザーは、英語とペルシア語の両方の言語でフォームに記入することができます。私はユーザーが英語でそれを記入する必要があるcaptchaの入力があります。javascriptでキーボードレイアウトを変更

ユーザーのキーボードレイアウトがペルシアンの場合、このフィールドに入力されたものは英語に変更されるので、この入力テキストに焦点を合わせてキーボードレイアウトを変更するコードが必要です。

javascriptでキーボードレイアウトを変更することは可能ですか?

+2

はいすることができます、キャプチャ各キーを押して確認します。次に、ターゲットとする新しいキーボードレイアウトに対応する文字を置き換えます。 –

+0

javascriptでキーボードボードレイアウトを検出/変更することはできません。 – Ramesh

+0

私は大きな問題を抱えています。ウィンドウやLinuxにいくつかの異なるペルシャンのキーボードレイアウトがあり、これが文字の置換を複雑にします。 : –

答えて

6

あなたはJSを使用してキーボードレイアウトを変更することはできませんが、あなたはKeyDownイベントイベントをキャプチャし、このようなもので文字を置き換えることができます。

http://jsfiddle.net/SxdKZ/

$('textarea').on('keydown', function(e){ 

    console.log(e.keyCode); 
    if(e.keyCode == 90){ 
     e.preventDefault(); 
     $(this).append('y').focus(); 
    } 
    if(e.keyCode == 89){ 
     e.preventDefault(); 
     $(this).append('z').focus(); 
    } 

});​ 
+0

ありがとうございますが、いくつかの違いがありますあなたのコードのように簡単にテーマを置き換えるためにWindowsとLinuxでkeyCodesが同じではないので、WindowsとLinuxでペルシア語のキーボードレイアウトを使用してください: –

+2

よく...あなたは 'navigator.platform'でOSを検出できます:) キャプチャのためだけに、http://mottie.github.com/Keyboard/のようなものが簡単な解決策かもしれませんか? –

関連する問題