Problème onkeyup

Signaler
Messages postés
100
Date d'inscription
mardi 8 mai 2007
Statut
Membre
Dernière intervention
18 février 2011
-
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
-
Bonjour à tous !

Voici quelques jours que je suis bloqué sur un problème concernant l'événement onkeyup. Tout se passe bien sous FireFox mais sous Internet Explorer, rien ne se passe... Voici mon code :

<html>
    <head>
        <title>Tutoriel Ajax (XHTML + JavaScript + XML)</title>
        <script type='text/JavaScript'>
     
             function getXhr(){
                                var xhr = null;
                if(window.XMLHttpRequest) // Firefox et autres
                   xhr = new XMLHttpRequest();
                else if(window.ActiveXObject){ // Internet Explorer
                   try {
                            xhr = new ActiveXObject("Msxml2.XMLHTTP");
                        } catch (e) {
                            xhr = new ActiveXObject("Microsoft.XMLHTTP");
                        }
                }
                else { // XMLHttpRequest non supporté par le navigateur
                   alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
                   xhr = false;
                }
                return xhr
            }
           
            function go(x)
            {
                var xhr = getXhr()
                // On défini ce qu'on va faire quand on aura la réponse
                xhr.onreadystatechange = function()
                {
                    // On ne fait quelque chose que si on a tout reçu et que le serveur est ok                    if(xhr.readyState 4 && xhr.status 200)
                    {
                        leselect = xhr.responseText;
                        document.getElementById('area').innerHTML = leselect;
                        alert("hihi");
                    }
                }
                xhr.open("POST","ajax.php",true);
                xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
                search = document.getElementById(x).value;
                xhr.send("search=" + search);
            }
           
            /*function onload()
            {
                tmp = document.getElementById('requete');
                if (tmp.addEventListener)
                {               
                    tmp.addEventListener('onkeyup', go, false);
                }
                else if (tmp.attachEvent)
                {
                    tmp.attachEvent('onkeyup',go);
                }
            }*/
           
        </script>
        <style type="text/css">
            #area {
                width: 200px;
                margin-top: -17px;
            }
            #requete {
                width: 200px;
            }
        </style>
    </head>
   
        <!--
        <textarea rows="5" id="area"></textarea>-->
        <form>
           
           
        </form>
        <form>
            <Select id="area" multiple size="5">
            </Select>
        </form>
   
</html>

Et voici le code de ajax.php qui fait un accès en base de données en php (ce n'est pas le problème je crois...) :

<?php

        $host = "localhost";
        $login = "root";
        $password = "";
        mysql_connect($host, $login, $password);
        mysql_select_db("googlegsa");
        $param = $_POST['search'];
        $requete = 'SELECT requete FROM keywords WHERE requete LIKE "' . $param . '%"  ORDER BY nbre_fois DESC';  // WHERE requete LIKE "g%"  ORDER BY nbre_fois
        $reponse = mysql_query($requete);
        $num_enr = 0;
        $data_array = array();
        while ($donnees = mysql_fetch_assoc($reponse))
        {
            echo "<option value='".$donnees["requete"]."'>".$donnees["requete"]."</option>";
            //echo $donnees["requete"];
            //$data_array[$num_enr] = $donnees['requete'];
            //$num_enr++;
        }
?>

Pourtant quand j'utilise onkeyup dans un autre script celui-ci fonctionne correctement et sous IE et sous Firefox. J'ai également essayé la méthode GET mais même soucis, onkeyup ne fonctionne pas sous IE...

Une idée ??? Merci pour votre aide, j'en ai réellement besoin,

Le grand Jisay

2 réponses

Messages postés
75
Date d'inscription
mardi 20 novembre 2007
Statut
Membre
Dernière intervention
9 janvier 2009
2
Salut,

Tu as testé avec onkeyup tout en minuscule?

Bonne chance,
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
36
Bonjour,
    ah tiens... j'aurais cru que ça ne fonctionnait pas avec FF ?!?!?
                  tmp.addEventListener('keyup', go, false);
<hr />                Cordialement            Bul         [mon Site]     [M'écrire]