Affichage d'un div AJAX

soker1 Messages postés 1 Date d'inscription lundi 13 octobre 2008 Statut Membre Dernière intervention 28 octobre 2008 - 28 oct. 2008 à 18:43
hamzaensi Messages postés 2 Date d'inscription jeudi 25 septembre 2008 Statut Membre Dernière intervention 4 septembre 2009 - 4 sept. 2009 à 13:05
Bonjour à tous
je me mets tranquilement à ajax et je recontre deja une difficulté :
j'ai 2 liens sur mon index qui appelle un scirpt et qui affiche un message d'attente avant le resultat:

[javascript:ajax('maginfra');
]

Veuillez patienter...

pour le div deux CSS :

.attente_nok
{ visibility: hidden;}
.attente_ok

{ visibility:  visible;}

les fonctions ajax :

function ajax(i)
{
    var xhr=null;
   
    if (window.XMLHttpRequest) {
        xhr = new XMLHttpRequest();
    }
    else if (window.ActiveXObject)
    {
        xhr = new ActiveXObject("Microsoft.XMLHTTP");
    }else { // XMLHttpRequest non supporté par le navigateur
        alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
        return;
    }
    //on définit l'appel de la fonction au retour serveur
    xhr.onreadystatechange = function() { alert_ajax(xhr, i); };
   
    //on affiche le message d'acceuil
    document.getElementById("message").className="attente_ok";
   
    //on appelle le fichier reponse.txt
    if(i=='maginfra'){
    xhr.open("POST", "pages/magasinInfra.php", true);
    xhr.send(null);
    }else if(i=='obj'){
    xhr.open("POST", "pages/magasinObj.php", true);
    xhr.send(null);       
    }
}

function alert_ajax(xhr)
{
    if (xhr.readyState==4)
    {
        var docXML= xhr.responseXML;

        document.getElementById("message").className="attente_nok";

       
        document.getElementById("cadre_gauche").innerHTML = xhr.responseText;

    }
}

le Probleme : lorsque je clique une fois sur le lien ca va bien (affichage du div message avec className="attente_ok" puis className="attente_nok" au retour serveur puis affichage de l'objet XML.
Mais lorsque je reclique sur ce meme lien ou sur l'autre j'ai une erreur :

message: Statement on line 19: Cannot convert undefined or null to Object
Line 19 of linked script http://127.0.0.1/js/ajax.js: In function ajax
document.getElementById("message").className="attente_ok";

quelqu'un aurit'il une idee ? je seche depuis quelques heures...Brrrr....

2 réponses

cs_Arkania Messages postés 4 Date d'inscription mardi 18 novembre 2008 Statut Membre Dernière intervention 8 décembre 2008
19 nov. 2008 à 14:48
Salut,
J'ai pas trop regadréla source, mais peut etre qu'un document.getElementById("message").style.visible = "hidden" ou "visible" pourrait résoudre ton probleme ;)

Bon courage
Flo
0
hamzaensi Messages postés 2 Date d'inscription jeudi 25 septembre 2008 Statut Membre Dernière intervention 4 septembre 2009
4 sept. 2009 à 13:05
hello

j'ai la même problème
0
Rejoignez-nous