Difference entre IE et Firefox Ajax

darkdrow Messages postés 6 Date d'inscription vendredi 22 octobre 2004 Statut Membre Dernière intervention 7 août 2007 - 6 août 2007 à 17:14
darkdrow Messages postés 6 Date d'inscription vendredi 22 octobre 2004 Statut Membre Dernière intervention 7 août 2007 - 7 août 2007 à 10:01
Un script Ajax me permet de modifier une balise <select>. Le prog PHP permettant de renseigner cette balise ne fait que d'inscrire <option>coucou</option>
quand dans mon script je renseigne ma balise innerHTML = le resultat du script, avec IE il m'enleve le premier <option> resultat: ca marche plus. Sous Mozilla pas de pb

voici la fonction me permettant de mettre a jour ma balise:

    function dorequestSel(url, div, data, show)
    {
         var xhr_object = null;
        var liste;
        if(window.XMLHttpRequest) // Firefox
           xhr_object = new XMLHttpRequest();
        else if(window.ActiveXObject) // Internet Explorer
           xhr_object = new ActiveXObject('Microsoft.XMLHTTP');
        else { // XMLHttpRequest non support? par le navigateur
           alert('Votre navigateur ne supporte pas les objets XMLHTTPRequest...');
           return;
        }
        xhr_object.open('POST', url, true);

        xhr_object.onreadystatechange = function() {
            if(xhr_object.readyState == 3)
            {
                document.getElementById(div).innerHTML = 'En Cours....';
            }
            if(xhr_object.readyState == 4)
            {
                 document.getElementById(div).innerHTML = xhr_object.responseText;
            }
        }
        if(data!=null)//xhr_object.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
        {
            xhr_object.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
            liste = explodeData(data);
        }else{
         liste=data;
        }
        xhr_object.send(data);
    }

Y'a ti qq qui aurait une idee ????

Merci

5 réponses

cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
7 août 2007 à 08:19
Bonjour,

>>quand dans mon script je renseigne ma balise innerHTML = le resultat du
script, avec IE
>>il m'enleve le premier <option> resultat: ca
marche plus. Sous Mozilla pas de pb

    je suppose que tu parles du innerHTML du select ?


    si oui : ça ne fonctionne pas avec IE ( innerHTML d'un select )
        un exemple des traitements sur les select :
            http://www.javascriptfr.com/codes/TRAITEMENTS-SUR-SELECT_27983.aspx
       mais ça doit venir de traitements ultérieurs le "ça marche plus" ? non ?

    sinon, pas de raisons, mais là on n'a pas ce qu'il faut pour voir koikinia

<hr />


Cordialement                Bul     [mon Site]     [M'écrire]



<hr />
0
darkdrow Messages postés 6 Date d'inscription vendredi 22 octobre 2004 Statut Membre Dernière intervention 7 août 2007
7 août 2007 à 08:45
Arf...
Si dans mon code je mets:
ou la variable div correspond a l'id d'un select

           if(xhr_object.readyState == 4)
            {
                 document.getElementById(div).innerHTML = "<option>coucou</option>";
                alert(document.getElementById(div).innerHTML);
            }

le resultat sera: coucou</option>
???
on a perd quelque chose la :)
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
7 août 2007 à 09:52
    <option> doit être dans un select, non ?  
    document.getElementById(div).innerHTML = "<select><option>coucou</option></select>";
    ça n'irait pas mieux ?



<hr />



Cordialement                Bul         [mon Site]     [M'écrire]



<hr />
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
7 août 2007 à 09:56
j'ai mal lu...

je récapépète mon 1er message :
    innerHTML n'est pas géré dans un select sous IE.

    utiliser  :     var sel=document.getElementById("id du select");
                        sel.length++;
                        sel[sel.length-1].text="coucou";

<hr />


Cordialement                Bul     [mon Site]     [M'écrire]



<hr />
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
darkdrow Messages postés 6 Date d'inscription vendredi 22 octobre 2004 Statut Membre Dernière intervention 7 août 2007
7 août 2007 à 10:01
Arf, j'avais peur que tu me marque ca
Va falloir que je refasse tout
balot ca
merci quand meme.
A+
0
Rejoignez-nous