Problème getelementbyid + Firefox

webagrippa Messages postés 3 Date d'inscription lundi 12 septembre 2011 Statut Membre Dernière intervention 13 septembre 2011 - 12 sept. 2011 à 11:55
webagrippa Messages postés 3 Date d'inscription lundi 12 septembre 2011 Statut Membre Dernière intervention 13 septembre 2011 - 13 sept. 2011 à 14:56
Bonjour,

Voilà mon souci :

J'ai une page HTML dans laquelle j'ai une succession (appelons la LISTE A) de noms. On peut cliquer sur ces noms pour actualiser une autre liste (appelons la LISTE B qui ne s'affiche qu'à partir du clic sur la LISTE A. La LISTE B vient via un include PHP.). Jusqu'à là, pas de souci. Mes scripts javascript + ajax + php fonctionnent bien.

Le problème est qu'en cliquant sur un item de la LISTE B, je dois afficher un formulaire. Sur IE, pas de souci tout fonctionne bien. Mais sur FIREFOX et CHROME, il ne se passe rien lorsque je clique sur les lignes de la LISTE B.

Avez-vous une idée? J'ai comparé le fonctionnement des 2 listes, et ils sont identiques. Mais pourquoi est-ce que ça marche sur IE et pas sur FIREFOX et CHROME ?

Pour info, voici le code utilisé sur les lignes des listes :

onclick="AfficheFormulaireContact('15');" style="cursor: hand; // 15 = N° d'identifiant différent pour chaque ligne


Même le curseur ne prend pas la forme d'une main comme demandé dans le style !

Si vous avez une idée, je suis preneur!

4 réponses

galled Messages postés 41 Date d'inscription vendredi 30 octobre 2009 Statut Membre Dernière intervention 13 décembre 2012
12 sept. 2011 à 22:22
Bonjour,

C'est cursor: pointer.

http://www.quirksmode.org/css/cursor.html

Pour ton javascript ça aiderais d'avoir le code de la fonction AfficheFormulaireContact.
0
webagrippa Messages postés 3 Date d'inscription lundi 12 septembre 2011 Statut Membre Dernière intervention 13 septembre 2011
13 sept. 2011 à 08:07
Bonjour;

Merci pour ta réponse.

Voici le code de la fonction :


function AfficheFormulaireContact(id_client, id_contact, action, sid)
{
    var xhr; 
    xhr = createXMLHttpRequest(); 
    xhr.onreadystatechange  = function()
    { 
        if(xhr.readyState  == 4)
        {
            if(xhr.status  == 200)
            { 
                if(document.all) document.all["formulaire-contact"].innerHTML = xhr.responseText;
                if(document.getElementById) 
                    document.getElementById("formulaire-contact").innerHTML = xhr.responseText;  
                LoadAjax();    
            }
            else 
            {
                alert("Error code " + xhr.status);
            }
        }
    };  
    xhr.open( "POST", "formulaire-contact.php",  true); 

        
        
    xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=iso-8859-1");
    var data = "file=ajax-post-text.txt&id_client="+ escape(id_client) + "&id_contact_selectionne=" + escape(id_contact) + "&action=" + escape(action) + "&" +sid;          
    xhr.setRequestHeader("Content-length", data.length);
    xhr.send(data);             
}

0
@karamel Messages postés 1816 Date d'inscription vendredi 9 mai 2008 Statut Modérateur Dernière intervention 30 novembre 2022 145
13 sept. 2011 à 12:08
bonjour

il n'est pas utilie d'utiliser document.all pour ie car il reconnait document.getElementById ceci doit suffir
document.getElementById("formulaire-contact").innerHTML = xhr.responseText; 


et il faudrait voir a quoi resemble la fonction createXMLHttpRequest()
0
webagrippa Messages postés 3 Date d'inscription lundi 12 septembre 2011 Statut Membre Dernière intervention 13 septembre 2011
13 sept. 2011 à 14:56
Voilà la fonction demandée ... toute simple en fait.

function createXMLHttpRequest()
{
try { return new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) {}
try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {}
try { return new XMLHttpRequest(); } catch(e) {}
alert("XMLHttpRequest not supported, please update your browser.");
return null;
}

C'est vraiment bizarre, quand même qu'IE gère tout ça correctement et pas Firefox. En général c'est l'inverse!

Si tu as une idée, n'hésite pas !
0