2012-07-11 18 views
8

Ho un modulo html. Gli utenti possono compilare il modulo in entrambe le lingue inglese e persiano. ma ho un input captcha che gli utenti dovrebbero compilare in inglese.cambia il layout della tastiera con javascript

Se il layout della tastiera dell'utente è persiano, ciò che viene digitato in questo campo dovrebbe cambiare in inglese, quindi ho bisogno di alcuni codici che cambiano il layout della tastiera sulla messa a fuoco su questo testo di input.

È possibile modificare il layout della tastiera con javascript ??

+2

Sì, è possibile, la cattura ogni pressione di tasto e controlla e.che quindi sostituisci i caratteri in modo che corrispondano al nuovo layout di tastiera a cui stai mirando. –

+0

Non è possibile rilevare/modificare il layout della tastiera tramite javascript. – Ramesh

+0

Ho un grosso problema, ci sono diversi layout di tastiera persiana in windows e in linux e questo complica la sostituzione del personaggio. :( –

risposta

6

Non sarà in grado di cambiare il layout della tastiera utilizzando JS, ma è possibile catturare l'evento KeyDown e sostituire il carattere con qualcosa di simile:

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

grazie ma ci sono alcuni diversi layout di tastiera persiano in windows e in linux quindi i keyCodes non sono gli stessi in windows e linux per sostituire facilmente il tema come il tuo codice :( –

+2

beh ... potresti rilevare il sistema operativo con 'navigator.platform' :) se è solo per una cattura, qualcosa come http://mottie.github.com/Keyboard/ potrebbe essere una soluzione più semplice? –

Problemi correlati