Insertion d'un champ input automatiquement
Résolu
basamiro
Messages postés
25
Date d'inscription
Statut
Membre
Dernière intervention
-
eliass00 Messages postés 10 Date d'inscription Statut Membre Dernière intervention -
eliass00 Messages postés 10 Date d'inscription Statut Membre Dernière intervention -
Bonsoir,
j'ai une page en html qui permet aux clients de commander des articles, à cet effet, j'ai crée un champ avec des choix multiples comme celà;
du fait qu'un client pourra choisir plusieurs articles, je me demande s'il y a possibilité de faire ceci:
si le client a choisi un article parmi les articles proposé, un champ pareil s'ajoute en bas du premier choix afin qu'il puisse rajouter un nouvel article.
j'ai une page en html qui permet aux clients de commander des articles, à cet effet, j'ai crée un champ avec des choix multiples comme celà;
<td width="420"><select name="sujet"> <option selected> <OPTION value="1" >article1</OPTION> <OPTION value="2" >article1</OPTION> <OPTION value="3" >article1</OPTION> <OPTION value="4" >article1</OPTION> <OPTION value="5" >article1</OPTION> </select></td>
du fait qu'un client pourra choisir plusieurs articles, je me demande s'il y a possibilité de faire ceci:
si le client a choisi un article parmi les articles proposé, un champ pareil s'ajoute en bas du premier choix afin qu'il puisse rajouter un nouvel article.
A voir également:
- Insertion d'un champ input automatiquement
- Insertion sommaire word - Guide
- Touche insertion clavier - Guide
- Insertion filigrane word - Guide
- Insertion liste déroulante excel - Guide
- Insertion signature word - Guide
11 réponses
J'avais fait un truc comme ça, je n'ai pas le temps de fouiller, là...
En gros, le principe :
Tu places tes listes déroulantes dans un <div> que tu peux nommer, par exemple, "zoneAffichage".
Tu rajoutes, sur ton select, un champ "onclick = copie(this)"
Tu crées une fonction javascript
var i=0;
function copie(liste)
{
var liste2 = liste.Clone();
liste2.id = "liste"+i;
i++;
document.getElementById("zoneAffichage").AppendChild(liste2);
}
Je n'ai pas le temps de tester ce code, là. Je ne suis, notamment, pas sûr des fonctions javascript que j'utilise. Tu peux aller faire un tour sur fr.selfhtml.org pour plus de détails.
En espérant t'aider,
Xavier
En gros, le principe :
Tu places tes listes déroulantes dans un <div> que tu peux nommer, par exemple, "zoneAffichage".
Tu rajoutes, sur ton select, un champ "onclick = copie(this)"
Tu crées une fonction javascript
var i=0;
function copie(liste)
{
var liste2 = liste.Clone();
liste2.id = "liste"+i;
i++;
document.getElementById("zoneAffichage").AppendChild(liste2);
}
Je n'ai pas le temps de tester ce code, là. Je ne suis, notamment, pas sûr des fonctions javascript que j'utilise. Tu peux aller faire un tour sur fr.selfhtml.org pour plus de détails.
En espérant t'aider,
Xavier
Merci Xavier au moins t'as reservé un peu de temps pour me répondre je t'en remercie 1001 fois.
je vais tester ta fonction et je te dirai si elle est coorecte ou pas et si j'ai pu la corriger je te le dirai.
Amicalement,
je vais tester ta fonction et je te dirai si elle est coorecte ou pas et si j'ai pu la corriger je te le dirai.
Amicalement,
je suis bloqué les gars aidez moi SVP!
Allez, j'ai pris 10 minutes pour corriger la piste que je t'avais donnée...
J'espère que ça te suffira.
Xavier
<html> <body> <script language="javascript"> var i=0; function addSelect() { i++; // On récupère l'endroit où devra être ajouté la liste var divCible = document.getElementById("divCible"); // On récupère la liste modèle var selModele = document.getElementById("select_modele"); // On la clone dans une nouvelle variable var nvxSel = selModele.cloneNode(true); // (pour la présentation, on crée un retour à la ligne) var br = document.createElement("br"); // On adapte les attributs de la nouvelle liste : nom, id et affichage nvxSel.name = "select" + i; nvxSel.id = "select" + i; nvxSel.style.display = "inline"; // On ajoute tout ça à l'emplacement voulu divCible.appendChild(nvxSel); divCible.appendChild(br); } </script> <!-- Création d'une liste modèle, qui ne sera pas visible --> <select id="select_modele" name="modele" style="display:none;"> <option value="1">element1</option> <option value="2">element2</option> <option value="3">element3</option> <option value="4">element4</option> </select> <!-- Bouton permettant la copie de la liste modèle --> <button onclick="javascript:addSelect();" type="button">Ajouter Liste</button> <!-- Zone, vide au début, dans laquelle les nouvelles listes seront ajoutées --> <div id="divCible"></div> </body> </html>Essaie de voir comment fonctionne cette petite page, elle fait ce que tu veux faire, et ça marche sous Firefox et Internet Explorer. Va falloir l'adapter à tes besoins, par contre.
J'espère que ça te suffira.
Xavier
Salut,
En javascript ce doit être possible, mais je pense que ce serait plus simple d'utiliser des checkbox, ou encore un select en multiple.
En javascript ce doit être possible, mais je pense que ce serait plus simple d'utiliser des checkbox, ou encore un select en multiple.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
c'est clair que ça sera plus facile mais je veux pas alourdir ma page de commande du fait que je possède au moins 200 produits d'où l'idée de mettre une seule fois un champ à choix multiple et une fois le choix fait automatiquement j'ajoute le meme champs moins l'article choisi.
Merci quand même pour l'interet que vous portiez à ma demande
Merci quand même pour l'interet que vous portiez à ma demande
c'est clair que ça sera plus facile mais je veux pas alourdir ma page de commande du fait que je possède au moins 200 produits d'où l'idée de mettre une seule fois un champ à choix multiple et une fois le choix fait automatiquement j'ajoute le meme champs moins l'article choisi.
Merci quand même pour l'interet que vous portiez à ma demande
Merci quand même pour l'interet que vous portiez à ma demande
bonjour , merci infiniment reivax962 votre script m'as bien aider , ca marche à merveille , j'aimerais bien savoir si on pe faire supprimer une select ajoutée , merci d'avance et bonne journée.