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 :

[POO] crée un lien pour insertiion dans form dynamique


Sujet :

JavaScript

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    163
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 163
    Points : 93
    Points
    93
    Par défaut [POO] crée un lien pour insertiion dans form dynamique
    bonjour à tous
    je suit en train de faire un js pour inserer des champs supplementaire dans un formulaire...

    tout fonctionne à merveille sauf pour le fait d'ajouter un lien de suppression dans mon label pour suppession de ce noeud si besoin...

    voici mon JS:
    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
    <!--
    var counter = 0;
     
    function moreFields()
    {
       counter++;
     
       /*on clone le noeud du passage à recréé*/
       var newFields = document.getElementById('readroot').cloneNode(true);
       /*on redefinit l'id de celui-ci à vide pour eviter les conflits sur ce dit JS*/
       newFields.id = '';
     
       /*on crée un element <a> ainsi que ces attributs href et title et son texte*/
       var linkRemove = document.createElement('a');
       linkRemove.href = 'javascript: this.parentNode.parentNode.removeChild(this.parentNode);';
       linkRemove.title = 'Supprimer le champ de formulaire';
       var texteLinkRemove = document.createTextNode('del');
       linkRemove.appendChild(texteLinkRemove);
     
       /*on sauve la valeur du label dans lequel on souhaite afficher le lien*/
       var labelValue = newFields.childNodes[0].firstChild.nodeValue;
       var replaceValue = linkRemove + labelValue;
       var tailleChaineReplace = newFields.childNodes[0].firstChild.length;
       newFields.childNodes[0].firstChild.replaceData(0,tailleChaineReplace,replaceValue);
       var newField = newFields.childNodes;
       for(var i=0;i<newField.length;i++)
       {
          var theName = newField[i].name
          if (theName) newField[i].name = theName + counter;
       }
       var insertHere = document.getElementById('writeroot');
       insertHere.parentNode.insertBefore(newFields,insertHere);
     
    }
    // -->
    le probleme est qu'au lieu que le nouveau label contienne le lien créé, j'ai en faite affichage de la valeur de mon Href + le text du dit label...

    si quelqu'un à une idée à me soumettre...
    merci d'avance

  2. #2
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 681
    Points : 5 221
    Points
    5 221
    Par défaut
    tu traites un objet "A" comme faisant partie d'un noeud texte et tu essaies de l'ajouter à la valeur du label!

    et soit dit en passant, "label" est un élément inline;

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    163
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 163
    Points : 93
    Points
    93
    Par défaut
    ok j'ai fini pas trouver

    par contre j'ai pas moyen de supprimer le noeud correspondant au label/champs inserer via le lien passer dans ce dit noeud...

    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
    var counter = 0;
     
    function moreFields()
    {
       counter++;
     
       /*on clone le noeud du passage à recréé*/
       var newFields = document.getElementById('readroot').cloneNode(true);
       /*on redefinit l'id de celui-ci à vide pour eviter les conflits sur ce dit JS*/
       newFields.id = '';
     
       /*on crée un element <a> ainsi que ces attributs href et title et son noeud enfant de type texte*/
       var linkRemove = document.createElement('a');
       linkRemove.href = 'javascript: this.parentNode.parentNode.removeChild(this.parentNode);';
       linkRemove.title = 'Supprimer le champ de formulaire';
       var texteLinkRemove = document.createTextNode('del');
       linkRemove.appendChild(texteLinkRemove);
       newFields.insertBefore(linkRemove,newFields.childNodes[0]);
     
       var newField = newFields.childNodes;
       for(var i=0;i<newField.length;i++)
       {
          var theName = newField[i].name
          if (theName) newField[i].name = theName + counter;
       }
       var insertHere = document.getElementById('writeroot');
       insertHere.parentNode.insertBefore(newFields,insertHere);
     
    }
    si quelqu'un peut me dire ce qui ne va pas pour le js passer au lien generé afin que celui-ci me supprime bien tout le noeud precedement inseré?
    merci d'avance

  4. #4
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 681
    Points : 5 221
    Points
    5 221
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    linkRemove.href = 'javascript: this.parentNode.parentNode.removeChild(this.parentNode);'
    plutôt étrange!

    établis une correspondance d'id entre l'input à supprimer et le label ou le lien (input_1 // label_1)

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    163
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 163
    Points : 93
    Points
    93
    Par défaut
    oki j'ai fini par me depatouille tout seul

    merci encore...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2003] mettre variable pour mise en forme dynamique
    Par sharox dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 25/11/2013, 08h32
  2. Réponses: 10
    Dernier message: 31/01/2010, 11h45
  3. [POO] types d'attributs // pour insérer dans une BD
    Par No3l_tek dans le forum Langage
    Réponses: 3
    Dernier message: 07/05/2008, 14h08
  4. Récuperer lien <a href> pour mettre dans un champ texte
    Par nico26 dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 21/02/2007, 15h19
  5. [FLASH MX] Liens hypertext pour naviguer dans ma page
    Par marie64dk dans le forum Flash
    Réponses: 13
    Dernier message: 10/08/2004, 16h17

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