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

Contribuez Discussion :

[SRC] ajouter ou supprimer un champ texte


Sujet :

Contribuez

  1. #1
    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 [SRC] ajouter ou supprimer un champ texte
    utilitaire classique: proposer un nombre de champs au choix, entre 0 et x.

    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
    <script type="text/javascript">
     
    var c,c2, ch;
     
    // ajouter un champ avec son "name" propre;
    function plus(){
    c=document.getElementById('cadre');
    c2=c.getElementsByTagName('input');
    ch=document.createElement('input');
     
    ch.setAttribute('type','text');
    ch.setAttribute('name','ch'+c2.length);
    c.appendChild(ch);
     
    document.getElementById('sup').style.display='inline';
    }
     
    // supprimer le dernier champ;
    function moins(){
    if(c2.length>0){c.removeChild(c2[c2.length-1])}
    if(c2.length==0){document.getElementById('sup').style.display='none'};
    }
     
    </script>
    squelette de formulaire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <form id="frm" action="">
    <div id="cadre" style="margin-left:100px;width:200px">
    </div>
     
    <p>
    <input type="button" value="ajouter un champ" onclick="plus()" />
    <input type="button" style="display:none" id="sup" value="supprimer un champ" onclick="moins()" />
    </p>
    </form>
    aperçu: http://javatwist.imingo.net/ajouform.php

  2. #2
    Membre confirmé
    Avatar de FMaz
    Inscrit en
    Mars 2005
    Messages
    643
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 643
    Points : 640
    Points
    640
    Par défaut
    Très intéressant !

    Est-ce que ca fonctionnerait aussi avec des champs pour parcourir et joindre un fichier (car ces champs ont certaine protections des navigateurs (dont FF), et au moment d'ajouter un champ, le contenu des champs précédent se vide :-\ )

    J'avais personnellement palié à ce problème en adoptant une structure telle que:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <div>
      <input />
      <div> 
        <input />
        <div>
          <input />
          <div>
              <!-- Prêt à recevoir le nouveau champ suivant -->
          </div>
        </div>
      </div>
    </div>

    Seconde question, est-ce que ta méthode à un avantage réel comparativement à une solution telle que:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <div id="nextdiv0"></div>
    <input type="button" onclick="AddChamp();" value="Ajouter un champ" />
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    var curId=0;
    function AddChamp(){
      document.getElementById('nextdiv' + curId).innerHTML = "<input type=\"text\" name=\"nom[]\" /> <div id=\"" + (++curId) + "\"></div>";
    }

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 23
    Points : 13
    Points
    13
    Par défaut
    Bonjour, je relance ce topic après quelque mois mais il réponds presque à toutes mes attentes alors!!!
    Il me manque juste le moyen de récupérer le texte entré dans les différents champs, en fait, je ne comprends pas quel est le nom "propre" de chaque champ. Si quelqu'un peut me répondre, merci!

  4. #4
    Membre expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Points : 3 289
    Points
    3 289
    Par défaut
    Apparement, ils ont tous le même nom

    Pour les récupérer sous forme de liste :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var allInputs = document.getElementsByName("theName")
    Fremy
    Pour vos développements Web et une navigation agréable, le tout gratuit :
    1) IE 8 + IE7Pro (Si vous ne connaissez pas IE7Pro, essayez !)
    2) FF 3 + Web Developper Toolbar + AdBlockPlus + FireBug + GreaseMonkey

  5. #5
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Citation Envoyé par FremyCompany
    Apparement, ils ont tous le même nom
    Heu ... non : "ch" suivi d'un compteur

    A+
    Pour tout savoir sur l'utilisation du forum

    En postant votre message, n'oubliez pas les Règles du Club.

  6. #6
    Membre expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Points : 3 289
    Points
    3 289
    Par défaut
    Ah pardon, oui, je parlais de ma méthode de FMaz, pas celle de JavaTwister, que je n'avais pas vue...
    Fremy
    Pour vos développements Web et une navigation agréable, le tout gratuit :
    1) IE 8 + IE7Pro (Si vous ne connaissez pas IE7Pro, essayez !)
    2) FF 3 + Web Developper Toolbar + AdBlockPlus + FireBug + GreaseMonkey

Discussions similaires

  1. [WD-2007] Case bouton qui ajoute ou supprime un champ
    Par Pepitos dans le forum Word
    Réponses: 14
    Dernier message: 13/06/2010, 02h11
  2. Réponses: 19
    Dernier message: 18/02/2009, 15h38
  3. ajouter et supprimer un champ de formulaire
    Par sativa808 dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 17/07/2008, 19h32
  4. [DOM] Supprimer des champs text
    Par Mo_Poly dans le forum Général JavaScript
    Réponses: 24
    Dernier message: 17/03/2008, 22h24
  5. ajouté et supprimé un champ
    Par 21247692 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 05/03/2008, 14h50

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