Pas de reponse sur onkeypress pour IE

Fermé
artragis Messages postés 481 Date d'inscription mardi 12 juin 2007 Statut Membre Dernière intervention 6 avril 2010 - 14 févr. 2010 à 18:12
artragis Messages postés 481 Date d'inscription mardi 12 juin 2007 Statut Membre Dernière intervention 6 avril 2010 - 15 févr. 2010 à 10:57
Bonjour, je désire recharger une page différemment selon qu'on appuie sur la touche a ou une autre touche du clavier.
Dans le premier cas on utilise ajax, dans le second c'est un script php (avec validation de formulaire) qui prend le relai.
Seulement j'ai un problème : alors qu'aucune erreur n'est détecté sur webdevlopper et que ça marche bien sur mozilla, sur IE rien ne se passe, mais strictement rien.
J'ai IE 7 et voici le code :
//ce JS là permettra juste de faire un submit lorsqu'on cliquera sur une touche du clavier
            function mettre_timestamp(){//si c'est une autre touche que le a, on envoie une tentative de réponse
                if(onkeypress.keyCode !=65){
                    date=new Date();
                    timestamp=date.getTime();//on prend le timestamp
                    millisecond=date.getMilliseconds();//et les millisecond
                    timestamp=timestamp*1000+millisecond;//et on convertit en micro_timestamp
                    document.rep.reponse.value=timestamp;//on le met dans le formulaire
                    document.rep.submit();//et on envoie le formulaire.
                }
                // si c'est le a c'est juste une maj
                else{
                    relance();
                }
            }

3 réponses

UgglyBoy Messages postés 422 Date d'inscription mercredi 24 septembre 2008 Statut Membre Dernière intervention 30 mai 2015 64
14 févr. 2010 à 22:21
sous IE8 (sous IE7 idem probablement):
menu: outils > options internet
onglet: avancés
section: navigation > désactiver le débogage des scripts

ceci te permettra de voir toutes les erreurs (d'après IE)

mieux encore:
menu: outils > outils de développement F12
0
artragis Messages postés 481 Date d'inscription mardi 12 juin 2007 Statut Membre Dernière intervention 6 avril 2010 146
15 févr. 2010 à 10:42
le problème est réglé de moitié,
en effet j'ai besoin d'une mise à jour sur deux pages différentes,
j'ai modifié le code ainsi sur la première page :
//ce JS là permettra juste de faire un submit lorsqu'on cliquera sur une touche du clavier
            function mettre_timestamp(ev){//si c'est une autre touche que le a, on envoie une tentative de réponse
                if(ev.keyCode !=65){
                    date=new Date();
                    timestamp=date.getTime();//on prend le timestamp
                    millisecond=date.getMilliseconds();//et les millisecond
                    timestamp=timestamp*1000+millisecond;//et on convertit en micro_timestamp
                    document.rep.reponse.value=timestamp;//on le met dans le formulaire
                    document.rep.submit();//et on envoie le formulaire.
                }
                // si c'est le a c'est juste une maj
                else{
                    relance();
                }
            }

        </script>
        <!--[IF IE]
        <script langage="javascript">
        if (!ev) ev=window.event; 
        document.getElementsByTagName('body')[0].onkeypress=mettre_timestamp;
        -->
        <script src="requete_simultaneite.js">//script de simultaneite</script>
    </head>
    <body onKeyPress="mettre_timestamp(onkeypress)" >

et ça marche, seulement pour la seconde page, où il n'y a pas besoin de mettre en place un formulaire, je me suis dit "mettre simplement la fonction dans le "onkeypress" de body devrait suffir" mais non
alors j'ai fait quelques essaies, en voici un :
<script language="javascript" src="requete_simultaneite.js">//script de simultaneite</script>
        <script language="javascript">
            function au_clic(ev){
                if(ev){
                    relance();
                }
            }

        </script>
         <!--[IF IE]
        <script langage="javascript">
        if (!ev) ev=window.event;
        document.getElementsByTagName('body')[0].onkeypress=au_clic;
        -->
    </head>
    <body onKeyPress="au_clic(onkeypress)">

mais quoi_que je fais rien ne se passe. (la fonction relance est la même danls les deux scripts)
0
artragis Messages postés 481 Date d'inscription mardi 12 juin 2007 Statut Membre Dernière intervention 6 avril 2010 146
15 févr. 2010 à 10:57
en fait non, ça marche pas car le keycode n'est pas pris en en compte, que je clique sur a ou une autre touche ça revient otujours à une réponse
0