Récupérer les valeurs de menus déroulants dans un champ (Total)

Résolu
Cyberium77 Messages postés 560 Date d'inscription   Statut Membre Dernière intervention   -  
Regis59 Messages postés 21143 Date d'inscription   Statut Contributeur sécurité Dernière intervention   -
Bonjour,

j'aurai souhaité obtenir le total de plusieurs champs à choix multiples.

Voici un exemple :

Premier Menu déroulant = [Liste de choix] Casquette à 12,00 €, Casquette à 15,00 €

Seconde Menu déroulant = [Liste de choix] Chemise à 10,00 €, Chemise à 20,00 €

Champ [Total] = (Afficherait le montant total par rapport aux choix sélectionnés).

Y aurait-il une âme charitable pour me faire un tout petit bout de code (HTML5), afin que je puisse avoir une première base ?
Que par la suite, je peaufinerais afin de me faire la main.

D'avance merci :)

Très belle journée à tous.
A voir également:

3 réponses

Regis59 Messages postés 21143 Date d'inscription   Statut Contributeur sécurité Dernière intervention   1 322
 
Salut,

Tu fais le "formulaire" en HTML avec 2 combobox, puis tu fais le calcul en Javascript.

Tu sais faire le HTML?
0
Cyberium77 Messages postés 560 Date d'inscription   Statut Membre Dernière intervention   65
 
Salut,
oui, les formulaires aucun souci.
J'ai quelques notions en HTML, mais c'est au niveau du Javascript que ça coince...

EDIT : C'est surtout pour cela que je cherchais avant tout un code d'exemple, afin de comprendre le fonctionnement.

Merci
0
Regis59 Messages postés 21143 Date d'inscription   Statut Contributeur sécurité Dernière intervention   1 322
 
OK.

Copie colle ton code HTML.

A+
0
Cyberium77 Messages postés 560 Date d'inscription   Statut Membre Dernière intervention   65
 
Quelque chose du genre...
Ici, je ne l'ai pas fait en choix multiples, mais en cases à cocher.

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Test</title>
</head>

<body>

<form method="post" action="ton_action">
   <p>Faites votre Choix :<br>
       <input type="checkbox" name="casq_10" />Casquette à 10,00 €<br>
       <input type="checkbox" name="casq_20" />Casquette à 20,00 €<br>
       <br>
       <input type="checkbox" name="chem_15" />Chemise à 15,00 €<br>
       <input type="checkbox" name="chem_25" />Chemise à 25,00 €<br>
       <br>
       Total de vos Choix : 
   </p>
</form>

</body>
</html>
0
Regis59 Messages postés 21143 Date d'inscription   Statut Contributeur sécurité Dernière intervention   1 322
 
Au fait, tu veux le faire en Javascript ou en PHP?

Alors je n'ai pas tout fais, mais une petite base pour voir si tu comprends le principe déjà et si tu veux tester avant de l'avoir tout cuit :-P

En JS, la base est la:

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Test</title>
<script>
function calcul()
{
// Ici tester si la valeur est cochée et si elle l'est récupérer la valeur et l'additionner. Enfin, l'afficher dans le input.
}
</script>
</head>

<body>

<form method="post" action="ton_action">
<p>Faites votre Choix :<br>
<input type="checkbox" id="un" name="casq_10" value="10" onclick="calcul()" />Casquette à 10,00 €<br>
<input type="checkbox" id="deux" name="casq_20" value="20" onclick="calcul()"/>Casquette à 20,00 €<br>
<br>
<input type="checkbox" id="trois" name="chem_15" value="15" onclick="calcul()"/>Chemise à 15,00 €<br>
<input type="checkbox" id="quatre" name="chem_25" value="25" onclick="calcul()"/>Chemise à 25,00 €<br>
<br>
Total de vos Choix : <input type="text" name="total" readonly />
</p>
</form>

</body>
</html>

0
Cyberium77 Messages postés 560 Date d'inscription   Statut Membre Dernière intervention   65
 
En javascript,

par contre, j'ai beau cocher dans ton exemple, rien ne s'additionne. :/

merci quand même :)
0
Regis59 Messages postés 21143 Date d'inscription   Statut Contributeur sécurité Dernière intervention   1 322
 
Je pensais que t'allais chercher un peu lol

Essai ce code:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Test</title>
<script>
function calcul()
{
var somme = 0;
var checks = document.forms["Form"].getElementsByTagName("input");
for (var i = 0, iMax = checks.length; i < iMax; ++i) {
if ((checks[i].type == "checkbox") && checks[i].checked) {
somme += parseInt(checks[i].value);
}
}
document.getElementsByName("total")[0].value = somme;
}
</script>
</head>

<body>

<form method="post" action="ton_action" name="Form">
<p>Faites votre Choix :<br>
<input type="checkbox" id="un" name="casq_10" value="10" onclick="calcul()" />Casquette à 10,00 €<br>
<input type="checkbox" id="deux" name="casq_20" value="20" onclick="calcul()"/>Casquette à 20,00 €<br>
<br>
<input type="checkbox" id="trois" name="chem_15" value="15" onclick="calcul()"/>Chemise à 15,00 €<br>
<input type="checkbox" id="quatre" name="chem_25" value="25" onclick="calcul()"/>Chemise à 25,00 €<br>
<br>
Total de vos Choix : <input type="text" id="total" name="total" readonly />
</p>
</form>

</body>
</html>


"Impossible is nothing"
0
Cyberium77 Messages postés 560 Date d'inscription   Statut Membre Dernière intervention   65
 
Yeah !
C'est exactement ce que je recherchai comme base.
Un tout grand merci ;)
0
Regis59 Messages postés 21143 Date d'inscription   Statut Contributeur sécurité Dernière intervention   1 322
 
Cool :-)

++
0