Formulaire a choix multiples
Résolu/Fermé
_Antonin_
Messages postés
14
Date d'inscription
lundi 24 mai 2021
Statut
Membre
Dernière intervention
14 juin 2021
-
24 mai 2021 à 13:01
jordane45 Messages postés 38353 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 27 décembre 2024 - 3 juin 2021 à 22:02
jordane45 Messages postés 38353 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 27 décembre 2024 - 3 juin 2021 à 22:02
A voir également:
- Html formulaire choix multiple
- Liste déroulante choix multiple excel - Guide
- Formulaire de réclamation facebook - Guide
- Editeur html - Télécharger - HTML
- Ecran multiple pc - Guide
- Br html ✓ - Forum Webmastering
4 réponses
jordane45
Messages postés
38353
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
27 décembre 2024
4 719
24 mai 2021 à 13:36
24 mai 2021 à 13:36
Bonjour,
Pour commencer, merci de poster ton code correctement sur le forum en utilisant les balises de code ( cela permet de faire des copier/coller si besoin )
Explications ( à lire entièrement !! ) disponibles ici : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Ensuite, tu n'indiques pas dans quel langage tu veux faire ça...
En php ou en Javascript ?
Tu n'indiques pas non plus comment tu associe les produits à un prix ?
As tu besoin de conserver le "choix" fait dans les liste ? Si non, tu pourrais mettre le prix directement dans les "value" des options.
Si oui, il faut utiliser un array qui permettrait de faire le lien entre les prix et les produits..
Qu'as tu envisagé ?
Pour commencer, merci de poster ton code correctement sur le forum en utilisant les balises de code ( cela permet de faire des copier/coller si besoin )
Explications ( à lire entièrement !! ) disponibles ici : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Ensuite, tu n'indiques pas dans quel langage tu veux faire ça...
En php ou en Javascript ?
Tu n'indiques pas non plus comment tu associe les produits à un prix ?
As tu besoin de conserver le "choix" fait dans les liste ? Si non, tu pourrais mettre le prix directement dans les "value" des options.
Si oui, il faut utiliser un array qui permettrait de faire le lien entre les prix et les produits..
Qu'as tu envisagé ?
_Antonin_
Messages postés
14
Date d'inscription
lundi 24 mai 2021
Statut
Membre
Dernière intervention
14 juin 2021
24 mai 2021 à 20:36
24 mai 2021 à 20:36
Excusez moi, voici le code de ma page
Ensuite je ne sais pas du tout dans quel langage je veux le faire, je suis preneur pour les deux, mais j'avais lu que le JavaScript serait plus adapté
Et pour les prix, j'aime bien l'idée du array sauf si cela est trop compliqué et dans ce cas là j'appliquerai directement les prix aux produits dans les value
Merci beaucoup pour votre réponse
<label for="pet-select">Choississez un légume</label> <select name="legume" id="legume-select"> <option value="">--Choisissez--</option> <option value="carrote">Carotte</option> <option value="tomate">Tomate</option> <option value="salade">Salade</option> <option value="concombre">Concombre</option> </select> </br> </br> </br> <label for="pet-select">Choississez un fruit</label> <select name="legume" id="legume-select"> <option value="">--Choisissez--</option> <option value="pomme">Pomme</option> <option value="kiwi">Kiwi</option> <option value="poire">Poires</option> <option value="banane">Bananes</option> </select> </br> </br> </br> <label for="pet-select">Choississez une viande</label> <select name="legume" id="legume-select"> <option value="">--Choisissez--</option> <option value="carrote">Dinde</option> <option value="tomate">Poulet</option> <option value="salade">Boeuf</option> </select>
Ensuite je ne sais pas du tout dans quel langage je veux le faire, je suis preneur pour les deux, mais j'avais lu que le JavaScript serait plus adapté
Et pour les prix, j'aime bien l'idée du array sauf si cela est trop compliqué et dans ce cas là j'appliquerai directement les prix aux produits dans les value
Merci beaucoup pour votre réponse
jordane45
Messages postés
38353
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
27 décembre 2024
4 719
24 mai 2021 à 22:15
24 mai 2021 à 22:15
L'inconvenient du javascript, c'est que si tu changes de page... les données seront perdues...
Mais je suppose que ça n'a pas d'importance pour ce que tu veux réaliser.
Mais je suppose que ça n'a pas d'importance pour ce que tu veux réaliser.
<label for="pet-select">Choississez un légume</label> <select name="legume" id="legume-select"> <option value="">--Choisissez--</option> <option value="carrote">Carotte</option> <option value="tomate">Tomate</option> <option value="salade">Salade</option> <option value="concombre">Concombre</option> </select> </br> </br> </br> <label for="pet-select">Choississez un fruit</label> <select name="legume" id="legume-select"> <option value="">--Choisissez--</option> <option value="pomme">Pomme</option> <option value="kiwi">Kiwi</option> <option value="poire">Poires</option> <option value="banane">Bananes</option> </select> </br> <script> const legumes ={"carrote":0.90,"tomate":5.50,"salade":2.20,"concombre":1}; var selLeg = document.querySelector("#legume-select"); selLeg.addEventListener("change", prixLegume, false); function prixLegume(){ var choix = selLeg.value; var prix = legumes[choix]; console.log(prix); } </script>
_Antonin_
Messages postés
14
Date d'inscription
lundi 24 mai 2021
Statut
Membre
Dernière intervention
14 juin 2021
>
jordane45
Messages postés
38353
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
27 décembre 2024
25 mai 2021 à 14:38
25 mai 2021 à 14:38
Ce script me permet d'appliquer un prix a chaque produits mais comment puis-je faire un bouton qui lorsque l'on clique nous affiche une petit phrase avec le prix total?
jordane45
Messages postés
38353
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
27 décembre 2024
4 719
>
_Antonin_
Messages postés
14
Date d'inscription
lundi 24 mai 2021
Statut
Membre
Dernière intervention
14 juin 2021
25 mai 2021 à 15:24
25 mai 2021 à 15:24
Regarde du côté de l'attribut onclick
_Antonin_
Messages postés
14
Date d'inscription
lundi 24 mai 2021
Statut
Membre
Dernière intervention
14 juin 2021
25 mai 2021 à 16:16
25 mai 2021 à 16:16
Voila ce que j'ai rajouté
Cependant je n'arrive pas a faire en sorte que le bouton fasse le calcul
<label for="pet-select">Choississez un légume</label> <select name="legume" id="legume-select"> <option value="">--Choisissez--</option> <option value="carrote">Carotte</option> <option value="tomate">Tomate</option> <option value="salade">Salade</option> <option value="concombre">Concombre</option> </select> </br> </br> </br> <label for="pet-select">Choississez un fruit</label> <select name="legume" id="legume-select"> <option value="">--Choisissez--</option> <option value="pomme">Pomme</option> <option value="kiwi">Kiwi</option> <option value="poire">Poires</option> <option value="banane">Bananes</option> </select> </br> </br> </br> <label for="pet-select">Choississez une viande</label> <select name="legume" id="legume-select"> <option value="">--Choisissez--</option> <option value="dinde">Dinde</option> <option value="poulet">Poulet</option> <option value="boeuf">Boeuf</option> </select> <script> const legumes ={"carrote":0.90,"tomate":5.50,"salade":2.20,"concombre":1, "pomme":1.20,"kiwi":2.36, "poires":1.95, "banane": 1.10, "dinde":10.25 , "poulet":5.60, "boeuf": 5.89}; var selLeg = document.querySelector("#legume-select"); selLeg.addEventListener("change", prixLegume, false); P.onclick = prixLegume; function prixLegume(){ var choix = selLeg.value; var prix = legumes[choix]; console.log(prix); } </script> <input type="button" value="Prix du panier">
Cependant je n'arrive pas a faire en sorte que le bouton fasse le calcul
jordane45
Messages postés
38353
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
27 décembre 2024
4 719
Modifié le 26 mai 2021 à 11:02
Modifié le 26 mai 2021 à 11:02
Pour commencer, places toujours le Javascript à la fin de ton document html ( juste avant le </body> )
Ensuite, mets des ID à tes éléments HTML pour pouvoir les cibler en Javascript
Et enfin, ton code ( à compléter pour les viandes), ressemblera à ça :
Ensuite, mets des ID à tes éléments HTML pour pouvoir les cibler en Javascript
Et enfin, ton code ( à compléter pour les viandes), ressemblera à ça :
<!DOCTYPE html> <html> <head> <title>COULEUR</title> <meta charset="utf-8" /> </head> <body> <label for="pet-select">Choississez un légume</label> <select name="legume" id="legume-select"> <option value="">--Choisissez--</option> <option value="carrote">Carotte</option> <option value="tomate">Tomate</option> <option value="salade">Salade</option> <option value="concombre">Concombre</option> </select> </br> </br> </br> <label for="pet-select">Choississez un fruit</label> <select name="legume" id="fruit-select"> <option value="">--Choisissez--</option> <option value="pomme">Pomme</option> <option value="kiwi">Kiwi</option> <option value="poire">Poires</option> <option value="banane">Bananes</option> </select> </br> </br> </br> <label for="pet-select">Choississez une viande</label> <select name="legume" id="viande-select"> <option value="">--Choisissez--</option> <option value="dinde">Dinde</option> <option value="poulet">Poulet</option> <option value="boeuf">Boeuf</option> </select> <input type="button" value="Prix du panier" id="btn-valider"> <input type="text" id="resultat" value=""/> <script> // Prix en fonction des produits const legumes ={"carrote":0.90,"tomate":5.50,"salade":2.20,"concombre":1, "pomme":1.20,"kiwi":2.36, "poires":1.95, "banane": 1.10, "dinde":10.25 , "poulet":5.60, "boeuf": 5.89}; const fruits ={"pomme":0.90,"kiwi":5.50,"poire":2.20,"banane":1}; // Listes de choix : const selLeg = document.querySelector("#legume-select"); const selFruit = document.querySelector("#fruit-select"); // bouton pour valider var btnValider = document.querySelector("#btn-valider"); // Input pour afficher le résultat var inputResultat = document.querySelector("#resultat"); //On attache l'event CLICK sur le bouton btnValider.addEventListener("click", calculerPanier, false); //Fonction pour faire le calcul function calculerPanier(){ var leg = prixSelect(selLeg); var fruit = prixSelect(selFruit); // a completer ici pour les viandes var prix = leg + fruit; inputResultat.value=prix; } //Fonction utilisée pour récupérer les valeurs des select function prixSelect(elmSel){ var choix = elmSel.value; var prix = legumes[choix]; console.log(choix,prix); return prix; } </script> </body> </html>
_Antonin_
Messages postés
14
Date d'inscription
lundi 24 mai 2021
Statut
Membre
Dernière intervention
14 juin 2021
>
jordane45
Messages postés
38353
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
27 décembre 2024
25 mai 2021 à 21:42
25 mai 2021 à 21:42
Bonjour, j'ai bien copié le code et j'ai essayé de rajouter une ligne pour les viandes cependant lorsque je clique cela n'affiche rien
De plus je ne comprends pas pourquoi parfois il y a marqué "légume" et parfois "Leg" et pourquoi parfois fruit a une majuscule et parfois un S
De plus je ne comprends pas pourquoi parfois il y a marqué "légume" et parfois "Leg" et pourquoi parfois fruit a une majuscule et parfois un S
<label for="pet-select">Choississez un légume</label> <select name="legumes" id="legume-select"> <option value="">--Choisissez--</option> <option value="carrote">Carotte</option> <option value="tomate">Tomate</option> <option value="salade">Salade</option> <option value="concombre">Concombre</option> </select> </br> </br> </br> <label for="pet-select">Choississez un fruit</label> <select name="fruits" id="fruit-select"> <option value="">--Choisissez--</option> <option value="pomme">Pomme</option> <option value="kiwi">Kiwi</option> <option value="poire">Poires</option> <option value="banane">Bananes</option> </select> </br> </br> </br> <label for="pet-select">Choississez une viande</label> <select name="viandes" id="viande-select"> <option value="">--Choisissez--</option> <option value="dinde">Dinde</option> <option value="poulet">Poulet</option> <option value="boeuf">Boeuf</option> </select> <input type="button" value="Prix du panier" id="btn-valider"> <input type="text" id="resultat" value=""/> <script> // Prix en fonction des produits const legumes ={"carrote":0.90,"tomate":5.50,"salade":2.20,"concombre":1, "pomme":1.20,"kiwi":2.36, "poires":1.95, "banane": 1.10, "dinde":10.25 , "poulet":5.60, "boeuf": 5.89}; const fruits ={"pomme":0.90,"kiwi":5.50,"poire":2.20,"banane":1}; const viandes ={"dinde":0.90,"poulet":5.50,"boeuf":2.20,}; // Listes de choix : const selLeg = document.querySelector("#legume-select"); const selFruit = document.querySelector("#fruit-select"); const selViandes = document.querySelector("#fruit-select"); // bouton pour valider var btnValider = document.querySelector("#btn-valider"); // Input pour afficher le résultat var inputResultat = document.querySelector("#resultat"); //On attache l'event CLICK sur le bouton btnValider.addEventListener("click", calculerPanier, false); //Fonction pour faire le calcul function calculerPanier(){ var leg = prixSelect(selLeg); var fruit = prixSelect(selFruit); var viandes = prixSelect(selviandes); // a completer ici pour les viandes var prix = leg + fruit + viandes; inputResultat.value=prix; } //Fonction utilisée pour récupérer les valeurs des select function prixSelect(elmSel){ var choix = elmSel.value; console.log(choix,prix); return prix; } </script>
jordane45
Messages postés
38353
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
27 décembre 2024
4 719
>
_Antonin_
Messages postés
14
Date d'inscription
lundi 24 mai 2021
Statut
Membre
Dernière intervention
14 juin 2021
25 mai 2021 à 21:53
25 mai 2021 à 21:53
Déjà.. je vois une première erreur ici :
Je ne pense pas que la liste contenant les choix de viande ait pour ID "fruit-select"
ensuite.. tu as une autre erreur sur le nom de la variables viandes... (tu as utilisé deux fois la même variable.... ce n'est pas possible.. )
et donc, pour répondre à ta question
... pour avoir des noms de variables différents....
J'aurais pu utiliser toto, titi, tata ... mais bon.. j'ai cherché à avoir des noms de variables qui se rapprochent à ce qu'elle représentes....
Leg .. pour légumes
selMachin ... sel pour SELECT ( l'élément html qui contient tes listes )
Avec ou sans S .. juste pour les différencier... différencier les objets qui contiennent les prix .. de la variable qui contient LE prix correspondant au produit sélectionné dans les listes;.
const selViandes = document.querySelector("#fruit-select");
Je ne pense pas que la liste contenant les choix de viande ait pour ID "fruit-select"
ensuite.. tu as une autre erreur sur le nom de la variables viandes... (tu as utilisé deux fois la même variable.... ce n'est pas possible.. )
et donc, pour répondre à ta question
je ne comprends pas pourquoi parfois il y a marqué "légume" et parfois "Leg" et pourquoi parfois fruit a une majuscule et parfois un S
... pour avoir des noms de variables différents....
J'aurais pu utiliser toto, titi, tata ... mais bon.. j'ai cherché à avoir des noms de variables qui se rapprochent à ce qu'elle représentes....
Leg .. pour légumes
selMachin ... sel pour SELECT ( l'élément html qui contient tes listes )
Avec ou sans S .. juste pour les différencier... différencier les objets qui contiennent les prix .. de la variable qui contient LE prix correspondant au produit sélectionné dans les listes;.
_Antonin_
Messages postés
14
Date d'inscription
lundi 24 mai 2021
Statut
Membre
Dernière intervention
14 juin 2021
>
jordane45
Messages postés
38353
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
27 décembre 2024
Modifié le 26 mai 2021 à 10:29
Modifié le 26 mai 2021 à 10:29
J'ai essayé de modifier le code pour que tout corresponde mais cela ne fonctionne toujours pas
<label for="pet-select">Choississez un légume</label> <select name="legumes" id="legume-select"> <option value="">--Choisissez--</option> <option value="carrote">Carotte</option> <option value="tomate">Tomate</option> <option value="salade">Salade</option> <option value="concombre">Concombre</option> </select> </br> </br> </br> <label for="pet-select">Choississez un fruit</label> <select name="fruits" id="fruit-select"> <option value="">--Choisissez--</option> <option value="pomme">Pomme</option> <option value="kiwi">Kiwi</option> <option value="poire">Poires</option> <option value="banane">Bananes</option> </select> </br> </br> </br> <label for="pet-select">Choississez une viande</label> <select name="viandes" id="viande-select"> <option value="">--Choisissez--</option> <option value="dinde">Dinde</option> <option value="poulet">Poulet</option> <option value="boeuf">Boeuf</option> </select> <input type="button" value="Prix du panier" id="btn-valider"> <input type="text" id="resultat" value=""/> <script> // Prix en fonction des produits const legumes ={"carrote":0.90,"tomate":5.50,"salade":2.20,"concombre":1, "pomme":1.20,"kiwi":2.36, "poires":1.95, "banane": 1.10, "dinde":10.25 , "poulet":5.60, "boeuf": 5.89}; const fruits ={"pomme":0.90,"kiwi":5.50,"poire":2.20,"banane":1}; const viandes ={"dinde":0.90,"poulet":5.50,"boeuf":2.20,}; // Listes de choix : const selLeg = document.querySelector("#legume-select"); const selFruit = document.querySelector("#fruit-select"); const selViande = document.querySelector("#viande-select"); // bouton pour valider var btnValider = document.querySelector("#btn-valider"); // Input pour afficher le résultat var inputResultat = document.querySelector("#resultat"); //On attache l'event CLICK sur le bouton btnValider.addEventListener("click", calculerPanier, false); //Fonction pour faire le calcul function calculerPanier(){ var leg = prixSelect(selLeg); var fruit = prixSelect(selFruit); var viande = prixSelect(selViande); // a completer ici pour les viandes var prix = leg + fruit + viande; inputResultat.value=prix; } //Fonction utilisée pour récupérer les valeurs des select function prixSelect(elmSel){ var choix = elmSel.value; console.log(choix,prix); return prix; } </script> </body>
jordane45
Messages postés
38353
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
27 décembre 2024
4 719
>
_Antonin_
Messages postés
14
Date d'inscription
lundi 24 mai 2021
Statut
Membre
Dernière intervention
14 juin 2021
Modifié le 26 mai 2021 à 18:35
Modifié le 26 mai 2021 à 18:35
La variable prix a disparu de la fonction prixSelect
Il faut modifier la fonction comme ceci
Edit: correction..
Il faut modifier la fonction comme ceci
function prixSelect(elmSel){ var choix = elmSel.value; // A corriger console.log(choix,prix); return prix; }
Edit: correction..
_Antonin_
Messages postés
14
Date d'inscription
lundi 24 mai 2021
Statut
Membre
Dernière intervention
14 juin 2021
30 mai 2021 à 19:40
30 mai 2021 à 19:40
jordane45
Messages postés
38353
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
27 décembre 2024
4 719
30 mai 2021 à 20:10
30 mai 2021 à 20:10
1 - Tu peux mettre le résultat dans n'importe quel "element" html.
Par exemple, au lieu de le mettre dans un INPUT tu peux très bien le mettre dans un SPAN
par contre, pour les éléments html qui ne sont pas de type INPUT, TEXTAREA, SELECT .. il ne faut pas utiliser le .value mais le .innerHTML
2 - https://www.w3schools.com/jsref/jsref_tofixed.asp
Par exemple, au lieu de le mettre dans un INPUT tu peux très bien le mettre dans un SPAN
par contre, pour les éléments html qui ne sont pas de type INPUT, TEXTAREA, SELECT .. il ne faut pas utiliser le .value mais le .innerHTML
<div> Le prix est de <span id='id_du_span'></span> Euros </div>
document.getElementById('id_du_span').innerHTML = prix;
2 - https://www.w3schools.com/jsref/jsref_tofixed.asp
Taijin
Messages postés
48
Date d'inscription
mercredi 15 juillet 2020
Statut
Membre
Dernière intervention
6 septembre 2021
>
jordane45
Messages postés
38353
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
27 décembre 2024
30 mai 2021 à 20:41
30 mai 2021 à 20:41
Pour votre première réponse je ne comprends pas ou je dois placer la deuxième ligne
document.getElementById('id_du_span').innerHTML = prix;
jordane45
Messages postés
38353
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
27 décembre 2024
4 719
>
Taijin
Messages postés
48
Date d'inscription
mercredi 15 juillet 2020
Statut
Membre
Dernière intervention
6 septembre 2021
30 mai 2021 à 20:44
30 mai 2021 à 20:44
Dans le code JavaScript là où actuellement on remplit l'input résultat
_Antonin_
Messages postés
14
Date d'inscription
lundi 24 mai 2021
Statut
Membre
Dernière intervention
14 juin 2021
>
jordane45
Messages postés
38353
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
27 décembre 2024
31 mai 2021 à 23:13
31 mai 2021 à 23:13
Excusez moi de revenir vous déranger mais j'ai une autre question:
Serait-il possible que quand je clique pour dérouler les différents choix de légume ou de fruits par exemple, que deux colonnes 's'affichent, une avec le nom du produit et une avec le prix?
Merci par avance
Serait-il possible que quand je clique pour dérouler les différents choix de légume ou de fruits par exemple, que deux colonnes 's'affichent, une avec le nom du produit et une avec le prix?
Merci par avance
jordane45
Messages postés
38353
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
27 décembre 2024
4 719
>
_Antonin_
Messages postés
14
Date d'inscription
lundi 24 mai 2021
Statut
Membre
Dernière intervention
14 juin 2021
31 mai 2021 à 23:21
31 mai 2021 à 23:21
Pourquoi deux colonnes ?
Il suffit de faire
Il suffit de faire
<select name="legume" id="legume-select"> <option value="">--Choisissez--</option> <option value="carrote">Carotte 1euros</option> <option value="tomate">Tomate 2.5 euros</option> <option value="salade">Salade 1.80 euros</option> <option value="concombre">Concombre 1.20 euros</option> </select>