Probleme de code clavier virtuel sur FF et Safari

cs_Dphermes Messages postés 3 Date d'inscription mardi 9 mars 2010 Statut Membre Dernière intervention 12 mars 2010 - 9 mars 2010 à 14:38
cs_Dphermes Messages postés 3 Date d'inscription mardi 9 mars 2010 Statut Membre Dernière intervention 12 mars 2010 - 12 mars 2010 à 22:35
Bonjour à tous,

un clavier virtuel russe a été créé pour la fac de russe de l'université. Malheureusement ce code ne marche pas sous FF et Safari alors que tout fonctionne parfaitement sous IE. (Ce qui pose problème à beaucoup d'étudiants...)

Le but est de taper directement sur les touches de son clavier et de voir directement apparaître la lettre cyrillique dans la fenêtre du clavier virtuel.
Quelqu'un saurait-il déceler pourquoi cela ne fonctionne pas sous FF et Safari? Je soupçonne le "window.event.keycode" mais je n'arrive pas à le rendre compatible pour FF et Safari.

Voici la page web

Je vous met la partie "saisie" du code :

function saisie() {
code=window.event.keyCode;
if ( (code==39) & (Bru==1) )
{Apos=1;window.event.keyCode=8;return;}
if (Apos==1)
{F1.TT.value=F1.TT.value+String.fromCharCode(Trans(code))+String.fromCharCode(769);
Apos=0;window.event.keyCode=8;
return;}
if (code==38)
{if (Bru==1) Bru=0; else Bru=1;
window.event.keyCode=8;return;}
if (Bru==1) {window.event.keyCode=Trans(code);return;}

window.event.keyCode=code;
}

function Accentuer() {
Apos=String.fromCharCode(39);
do
{k=F1.TT.value.indexOf(Apos);
if (k> -1)
{CarSuivant=F1.TT.value.charAt(k+1);
F1.TT.value=F1.TT.value.substr(0,k)+CarSuivant+String.fromCharCode(769)+F1.TT.value.substr(k+2);
}
}
while (k> -1);
}

function Accent(car) {
F1.TT.value=F1.TT.value+car+String.fromCharCode(769);
}

Si quelqu'un pouvait m'aider ce serait vraiment génial.
merci beaucoup!

4 réponses

PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 16
11 mars 2010 à 19:02
Bonjour,
je soupçonne le "window.event.keycode"
bien vu, window.event est EXCLUSIF IExplorer
IE et FF ont une façon différente de gérer les événements, un global pour IE et un pour chaque élément pour FF, en gros.
Il te faut dans ton cas affecter un fonction à un événement sur la TEXTAREA, et faire la gestion en fonction.

PS : Oublies pour FF, la réaffectation d'un event.keyCode comme tu le fais ci dessus.
;O)
0
cs_Dphermes Messages postés 3 Date d'inscription mardi 9 mars 2010 Statut Membre Dernière intervention 12 mars 2010
11 mars 2010 à 22:30
Bonjour,

Oublies pour FF, la réaffectation d'un event.keyCode comme tu le fais ci dessus.


Le problème, c'est qu'à part window.event je ne vois vraiment pas comment intégrer ce genre de fonction à FF.

A vrai dire, le problème n'est pas FF en lui-même... Les étudiants qui utilisent un PC, surtout ceux accros à FF peuvent bien de temps en temps ouvrir IE.
Le soucis est plus pour les étudiants qui ont un Mac.

Aurais-tu une idée d'adaptation de ce code pour qu'il soit compatible Safari? Parce qu'à part window.event, je bloque...

Merci beaucoup.


L'avantage d'être intelligent, c'est qu'on peut toujours faire l'imbécile,
alors que l'inverse est totalement impossible. (Woody Allen)
0
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 16
11 mars 2010 à 22:44
je te soumets deux liens, en anglais mais bon...
un sur event.keyCode
et l'autre sur event.which
cela devrait te permettre d'y voir plus clair
;O)
0
cs_Dphermes Messages postés 3 Date d'inscription mardi 9 mars 2010 Statut Membre Dernière intervention 12 mars 2010
12 mars 2010 à 22:35
Merci beaucoup!
je vais regarder ça.


L'avantage d'être intelligent, c'est qu'on peut toujours faire l'imbécile,
alors que l'inverse est totalement impossible. (Woody Allen)
0
Rejoignez-nous