IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

[AJAX] Creation d'un noeud, rien ne se passe


Sujet :

JavaScript

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    70
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 70
    Points : 50
    Points
    50
    Par défaut [AJAX] Creation d'un noeud, rien ne se passe
    Bonjour,

    Je suis actuellement sur la création d'un petit sample comme ça pour le fun, et je me trouve confronté a un problème très gênant : lorsque j'essaie de créer un nouvel Element voire un nouveau noeud, rien ne se passe.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
     
    function addLocation()
    {
    	if(xhr == null)	//If httpRequest not yet initialized, we create it
      		createHttpRequest();
      	openXMLFile();	//To open the xml file
     
      	var div = document.getElementById("infos");
    	var country = document.getElementById("country");
      	var continent = document.getElementById("continent");
     
    	xhr.onreadystatechange  = function()
        {
        	if(xhr.readyState  == 4)
            {
            	if(xhr.status  == 200)
                {
                	doc = xhr.responseXML.documentElement;	//To assign the document to a var
                	var indexContinent = continentExists(continent);
                	if(indexContinent == -1)	//if the continent does not exist
                	{
                		addContinent(continent);
                	}
                	addCountry(country, indexContinent);
     
                	updateInfos();	//Update infos to display the new country
                }
                else
    	    {
    		alert("Server error!");	//Error from the server
    	    }
            }
       	};
    }
     
    function addContinent(continent)
    {
    	alert("add continent"); //s'affiche
    	var newContinent = doc.createElement(continent); //Ne fonctionne pas
    	alert("continent created"); //ne s'affiche pas
     
     
    	doc.appendChild(newContinent);
    	alert("continent added");
    }
    Tout le code fonctionne à merveille, sauf la fonction addContinent. En réalité, le doc.createElement ne fonctionne pas. Où est mon erreur ?

    ps : les fonctions createHttpRequest(), openXMLFile() et continentExists() fonctionnent très bien.

  2. #2
    Membre confirmé Avatar de d-Rek
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    438
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2007
    Messages : 438
    Points : 455
    Points
    455
    Par défaut
    Ta variable globale doc, c'est quoi ?
    Pour créer un élément :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var objet=document.createElement('tagName'); // remplacer tagName par le nom de ta balise
    Ensuite tu fais doc.appendChild(newContinent);, ok mais pareil, qu'est-ce que doc ?
    doc doit être ton élément parent soit doc=document.getElementsByTagName('body')[0];
    soit
    doc=document.getElementById('toto'); // avec un élement qui comporte id="toto"

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    70
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 70
    Points : 50
    Points
    50
    Par défaut
    Citation Envoyé par d-Rek Voir le message
    Ta variable globale doc, c'est quoi ?
    Pour créer un élément :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var objet=document.createElement('tagName'); // remplacer tagName par le nom de ta balise
    Ensuite tu fais doc.appendChild(newContinent);, ok mais pareil, qu'est-ce que doc ?
    doc doit être ton élément parent soit doc=document.getElementsByTagName('body')[0];
    soit
    doc=document.getElementById('toto'); // avec un élement qui comporte id="toto"
    doc = xhr.responseXML.documentElement;

    Il s'agit de mon document XML dans lequel je veux ajouter un élément.

Discussions similaires

  1. [AJAX] Ajax.Request qui ne fait rien
    Par bronon dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 17/03/2008, 17h58
  2. [AJAX] Ajax TAg updatefield, rien ne se passe
    Par jeb001 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 05/12/2007, 10h33
  3. [AJAX] creation d'un tableau d'affichage des données
    Par highman dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 20/04/2007, 16h30
  4. [AJAX] Modification Inline, Firefox Ok, IE rien ne se passe
    Par Invité dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 19/03/2007, 11h40
  5. [AJAX] Création dynamique de div
    Par poussinphp dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 01/09/2006, 17h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo