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 :

Erreur de noeud ?


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    364
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 364
    Par défaut Erreur de noeud ?
    Voila je débute en javascript DOM.

    J'essaye de créer une balise div et dans cette balise div mettre un input.
    Mais rien que le fait de mettre une balise, j'ai une erreur, il me dit que le noeud n'a pas été trouvé.

    Voici un petit bout de code javascript :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    var elForm = document.getElementById("maform");
    var MaSection = document.getElementById("CreateSect");
     
    var NewDiv = document.createElement("div");
    NewDiv.setAttribute("id", "IdSection(i)");
    elForm.insertBefore(NewDiv, document.getElementById("CreateSect"));
     
    //Puis dans ce div je rajoute ma section
    var UnInput = document.createElement("input");
    UnInput.setAttribute("id", "Section(i)");
    UnInput.setAttribute("value", "toto");
    elForm.insertBefore(UnInput, NewDiv);
    Et un petit bout de mon code HTML :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <form method="post" action="submit" id="maform"> 
    <div class="book">
    	<div id="section"><input name="Titre_1" type="text" /><br /></div> 
    	<input name="Titre_2" type="text" />
    	<input value="Rajouter une section" onclick="add('S')" id="CreateSect" type="button" /><br /> 
    </div>
    </form>
    J'ai regardé ce que fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var MaSection = document.getElementById("CreateSect");
    avec un alert et il me renvoie bien object HTMLInputElement.

    Je ne comprends pas pourquoi il ne trouve pas le noeud

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    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
    var elForm = document.getElementById("maform");
    var MaSection = document.getElementById("CreateSect");
     
    var NewDiv = document.createElement("div");
    NewDiv.id="IdSection(i)");
     
     
    //Puis dans ce div je rajoute ma section
    var UnInput = document.createElement("input");
    UnInput.id="Section(i)";
    UnInput.value= "toto";
     
    NewDiv.appendChild(UnInput)
    MaSection.appendChile(NewDiv)
    elForm.appendChild(MaSection);
    pour autant que i ne soit pas une variable ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    364
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 364
    Par défaut
    J'ai essayé en mettant ces deux lignes en commentaire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    UnInput.id="Section(i)";
    NewDiv.id="IdSection(i)");
    mais sa ne change rien, j'ai toujours mon erreur.

    En effet 'i' devra être une variable plut tard mais pour l'instant je ne sais pas encore comment régler ce problème de variable qui va s'incrémenter à chaque fois que je rentre dans ma boucle si.

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    UnInput.indice=i
    UnInput.id="Section("+indice+")";
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  5. #5
    Membre Expert
    Avatar de Gruik
    Profil pro
    Développeur Web
    Inscrit en
    Juillet 2003
    Messages
    1 566
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 566
    Par défaut
    "Voulez vous que je me penche sur vos problemes de noeud?"

    Au fait, ça veut dire quoi ça, un id avec un indice?

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    364
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 364
    Par défaut
    Citation Envoyé par Gruik
    "Voulez vous que je me penche sur vos problemes de noeud?"

    Au fait, ça veut dire quoi ça, un id avec un indice?

    Euh oui je veux bien, merci.

    Un id avec un indice c'est parce que je vais permettre à l'utilisateur d'insérer plusieurs balises (input).
    Pour savoir où je dois l'insérer, j'ai pensé à mettre un indice dans ma balise div afin de savoir où insérer l'élément choisit par l'utilisateur.

    Peut-être que je me trompe mais vu que je m'y connais pas trop en javascript DOM, j'ai pensé que c'était le plus simple

Discussions similaires

  1. Localiser un noeud en erreur dans un arbre DOM
    Par treize92 dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 15/06/2011, 17h00
  2. Erreur accès aux attributs d'un noeud d'un DOMDocument
    Par mymiuu dans le forum Servlets/JSP
    Réponses: 0
    Dernier message: 26/09/2010, 19h01
  3. [AJAX] XML & nodeValue : erreur si noeud vide
    Par Electr0 dans le forum AJAX
    Réponses: 2
    Dernier message: 21/07/2010, 19h08
  4. [gsoap] erreur par rapport au noeud vide
    Par grelon dans le forum Bibliothèques
    Réponses: 1
    Dernier message: 24/04/2007, 17h07
  5. [XSL] Erreur : Ce document a déjà un noeud DocumentElement
    Par luimême dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 22/11/2005, 18h22

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