Augmenter nombre inputs dans form HTML en fonction de l'utilisat

Résolu/Fermé
M_Tufux - 24 avril 2017 à 09:59
 M_Tufux - 24 avril 2017 à 11:44
Bonjour,

Toujours dans le cadre de mon examen de diplôme, j'aimerais faire la chose suivante:

Pour être bref, mon site permet de gérer des sondages. Une sorte de doodle où il faut voter.

Lorsqu'un utilisateur crée un sondage, il arrive sur un formulaire où il renseigne titre, description du sondage ainsi que les options pour lesquelles voter. J'aimerais afficher de base 2 input pour les choix 1 et 2, mais j'aimerais savoir s'il y a possibilité d'augmenter le nombre d'input manuellement depuis le formulaire, un peu comme quand on insère des lignes dans phpMyAdmin.

Est-ce que qqn pourrait me renseigner svp?
Merci!
A voir également:

1 réponse

jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
24 avril 2017 à 10:01
Bonjour,

Oui c'est possible ... Il suffit de les créer en Javascript.

0
Yep!

Merci c'est bon j'ai trouvé sur ce lien (pas sûr que le lien soit légal mais bon):
https://openclassrooms.com/forum/sujet/ajouter-champ-formulaire-automatiquement-52099

Et autre question maintenant, comment je peux faire pour conserver les inputs déjà écrits lorsque j'en ajoute d'autres?
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650 > M_Tufux
24 avril 2017 à 10:56
Va falloir commencer à être un peu plus précis dans tes questions ...
1 - Montrer le code que tu utilises (en suivant ce tuto https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code )

2 - En expliquant en détail ce que tu souhaites faire.
Par exemple ... les "conserver" .. c'est à dire ? Suite à quelle opération ?
0
M_Tufux > jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024
24 avril 2017 à 11:16
Yep, je n'ai pas l'icône pour insérer une image mais bref.

Voici mon code

<label>Option</label>
<input class="form-control" type="text" name='option[]' placeholder="Option/candidat" maxlength="4"/><br/>
              
<div id="option">
 <!-- 2 OPTIONS PAR DEFAUT -->
<input class="form-control" type="text" name='option[]' placeholder="Option/candidat" maxlength="4"/><br/>
 </div>

              <!-- AJOUT D OPTIONS AVEC CLIC SUR + -->
             <code js>
              <script type="text/javascript" >
                  var div = document.getElementById('option');
                  function addInput(nam){
                      var input = document.createElement("input");
                      input.name = option;
                      div.appendChild(input);
                  }
                  function addField() {
                      addInput("option[]");

                      div.appendChild(document.createElement("br"));
                  }
              </script>
              

</code>

Ce que je veux faire c'est: Lorsque je clique sur le bouton "+", un nouveau input apparaît avec un
<br/>
. Le contenu des inputs déjà remplis doit rester et ceux que je crée via le bouton "+" doivent garder les mêmes propriétés que les inputs de base.

Est-ce que je me suis mieux exprimé?
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650 > M_Tufux
24 avril 2017 à 11:21
 input.name = "option[]";
//pour la class
input.className = " form-control";

//maxlength
input.setAttribute('maxLength',4);

//etc...
0
Yes c'est bon j'ai. Merci!

Voici ma solution pour le coup (j'ai la flemme d'indenter):

<label>Option</label>
              <input class="form-control" type="text" name='option[]' placeholder="Option/candidat" maxlength="4"/><br/>
              <div id="option">
                <!-- 2 OPTIONS PAR DEFAUT -->
                <input class="form-control" type="text" name='option[]' placeholder="Option/candidat" maxlength="4"/><br/>
              </div>

              <!-- AJOUT D OPTIONS AVEC CLIC SUR + -->
              <script type="text/javascript" >
                var div = document.getElementById('option');
                function addInput(nam){
                    var input = document.createElement("input");
                     input.name = "option[]";
                     input.className = "form-control";
                     input.placeholder = "Option/candidat";
                    div.appendChild(input);
                }
                function addField() {
                    addInput("option[]");
                    div.appendChild(document.createElement("br"));
                }
              </script>
0