Problème onkeyup

Le grand Jisay Messages postés 100 Date d'inscription mardi 8 mai 2007 Statut Membre Dernière intervention 18 février 2011 - 14 avril 2008 à 15:22
cs_bultez Messages postés 13616 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 - 15 avril 2008 à 08:22
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

Axe971 Messages postés 75 Date d'inscription mardi 20 novembre 2007 Statut Membre Dernière intervention 9 janvier 2009 2
14 avril 2008 à 22:49
Salut,

Tu as testé avec onkeyup tout en minuscule?

Bonne chance,
0
cs_bultez Messages postés 13616 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
15 avril 2008 à 08:22
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]
0