Bonjour à toutes et à tous
Je dois faire un formulaire qui doit indiquer à l'tuilisateur un prix qui est le total des options choisies.
Je ne connais pas grand chose à javascrip j'ai essayé plein de bout de code trouvé à droite à gauche mais rien n'y fait.
s'il vous plait pouvez-vous m'aider ?
voici le code :
<html>
<head>
<title>calcul</title>
<script language="Javascript">
function calcul()
{
//genre (homme) + 1 ou plusieur lots
if (document.nom_du_formulaire.genre.value = 'homme'){
var s1=0;
if(document.nom_du_formulaire.lot3.checked==true){
var prix4 = 4;
}
if(document.nom_du_formulaire.lot7.checked==true){
var prix7 = 7;
}
if(document.nom_du_formulaire.lot10.checked==true){
var prix8 = 8;
}
if(document.nom_du_formulaire.lot20.checked==true){
var prix10 = 10;
}
document.nom_du_formulaire.affichage_du_total.value=parseInt(s1)+parseInt(prix4)parseInt(prix7)+parseInt(prix8)+parseInt(prix10);
}
//genre(uniquement femme) + partie + un ou plusieurs lots
if (document.nom_du_formulaire.genre.value = 'femme'){
var s1=0;
if(document.nom_du_formulaire.partie.value = 'partie1'){
var prixP = 10;
}
else if(document.nom_du_formulaire.partie.value = 'partie2'){
var prixP = 20;
}
else if(document.nom_du_formulaire.partie.value = 'partie3'){
var prixP = 30;
}
if(document.nom_du_formulaire.lot3.checked==true){
var prix4 = 4;
}
if(document.nom_du_formulaire.lot7.checked==true){
var prix7 = 7;
}
if(document.nom_du_formulaire.lot10.checked==true){
var prix8 = 8;
}
if(document.nom_du_formulaire.lot20.checked==true){
var prix10 = 10;
}
document.nom_du_formulaire.affichage_du_total.value=parseInt(s1)+parseInt(prixP)+parseInt(prix4)parseInt(prix7)+parseInt(prix8)+parseInt(prix10);
}
}
</script>
</head>
<body>
<form name="nom_du_formulaire" method="POST">
<br/>
<br/>
<select name="genre" onchange="calcul()">
<option value="homme"> homme</option>
<option value="femme"> femme</option>
</select>
<br/>
<br/>
<select name="partie" onchange="calcul()">
<option value="partie1"> partie1</option>
<option value="partie2"> partie2</option>
<option value="partie3"> partie3</option>
</select>
<br/>
<br/>
<INPUT type="checkbox" name="lot3" value="lot3" onclick="calcul()">lot 3
<INPUT type="checkbox" name="lot7" value="lot7" onclick="calcul()">lot 7
<INPUT type="checkbox" name="lot10" value="lot10" onclick="calcul()">lot 10
<INPUT type="checkbox" name="lot20" value="lot20" onclick="calcul()">lot 20
<br/>
<br/>
<br/>
Total : <input type="text" name="affichage_du_total" size="7" >
</form>
</body>
</html>
Rien ne s'affiche dans la case total, je ne sais pas pourquoi ...
merci pour votre aide
ok c'est bon sa venais du tout début
var genre= document.getElementById("genre"); // là il falait rajouter l'id du select
if (genre.options[genre.selectedIndex].value == "homme"){...// le reste du code
Merci infiniment à toi huggy
je viens de la faire mais cela ne donne rien de plus :
<html>
<head>
<title>calcul</title>
<script language="Javascript">
function calcul()
{
//genre (homme) + 1 ou plusieur lots
if (document.nom_du_formulaire.genre.value = 'homme'){
var s1=0;
if(document.nom_du_formulaire.lot3.checked==true){
var prix4 = 4;
}
if(document.nom_du_formulaire.lot7.checked==true){
var prix7 = 7;
}
if(document.nom_du_formulaire.lot10.checked==true){
var prix8 = 8;
}
if(document.nom_du_formulaire.lot20.checked==true){
var prix10 = 10;
}
document.nom_du_formulaire.affichage_du_total.value=parseInt(s1)+parseInt(prix4)parseInt(prix7)+parseInt(prix8)+parseInt(prix10);
}
//genre(uniquement femme) + partie + un ou plusieurs lots
if (document.nom_du_formulaire.genre.value = 'femme'){
var s1=0;
if(document.nom_du_formulaire.partie.value = 'partie1'){
var prixP = 10;
}
else if(document.nom_du_formulaire.partie.value = 'partie2'){
var prixP = 20;
}
else if(document.nom_du_formulaire.partie.value = 'partie3'){
var prixP = 30;
}
if(document.nom_du_formulaire.lot3.checked==true){
var prix4 = 4;
}
if(document.nom_du_formulaire.lot7.checked==true){
var prix7 = 7;
}
if(document.nom_du_formulaire.lot10.checked==true){
var prix8 = 8;
}
if(document.nom_du_formulaire.lot20.checked==true){
var prix10 = 10;
}
document.nom_du_formulaire.affichage_du_total.value=parseInt(s1)+parseInt(prixP)+parseInt(prix4)parseInt(prix7)+parseInt(prix8)+parseInt(prix10);
}
}
</script>
</head>
<body>
<form name="nom_du_formulaire" method="POST">
<br/>
<br/>
<select name="genre" onchange="calcul()">
<option value="homme"> homme</option>
<option value="femme"> femme</option>
</select>
<br/>
<br/>
<select name="partie" onchange="calcul()">
<option value="partie1"> partie1</option>
<option value="partie2"> partie2</option>
<option value="partie3"> partie3</option>
</select>
<br/>
<br/>
<INPUT type="checkbox" name="lot3" value="lot3" onclick="calcul()">lot 3
<INPUT type="checkbox" name="lot7" value="lot7" onclick="calcul()">lot 7
<INPUT type="checkbox" name="lot10" value="lot10" onclick="calcul()">lot 10
<INPUT type="checkbox" name="lot20" value="lot20" onclick="calcul()">lot 20
<br/>
<br/>
<br/>
Total : <input type="text" name="affichage_du_total" value="" size="7" >
</form>
</body>
</html>
c'est fait il n'y a rien, pas de message d'erreur juste : "Iframe attached successfully"
déclares tes variables au debut de ta fonction calcul()
var prixP = 0;
var prix4 = 0;
...
et dans les if retire les 'var'
puis tu mets des alert() partout pour tracer le cheminement
J'ai fait les modifs en rien ne ce passe, aucun alert ne s'affiche. Je pense que sa vient du genre homme ou femme la valeur ne doit pas respecter l'egalité exemple :
if (document.nom_du_formulaire.genre.value = 'homme') la value ne correspond pas à "homme" ou alors ce n'est pas la bonne façon de l'écrire...
Voici le code actuel
<html>
<head>
<title>calcul</title>
<script language="Javascript">
function calcul()
{
//genre (homme) + 1 ou plusieur lots
if (document.nom_du_formulaire.genre.value = 'homme'){
var s1=0;
var prix4 = 0;
var prix7 = 0;
var prix8 = 0;
var prix10 = 0;
if(document.nom_du_formulaire.lot3.checked==true){
prix4 = 4;
alert(prix4);
}
if(document.nom_du_formulaire.lot7.checked==true){
prix7 = 7;
alert(prix7);
}
if(document.nom_du_formulaire.lot10.checked==true){
prix8 = 8;
alert(prix8);
}
if(document.nom_du_formulaire.lot20.checked==true){
prix10 = 10;
alert(prix10);
}
document.nom_du_formulaire.affichage_du_total.value=parseInt(s1)+parseInt(prix4)parseInt(prix7)+parseInt(prix8)+parseInt(prix10);
alert(document.nom_du_formulaire.affichage_du_total.value);
}
//genre(uniquement femme) + partie + un ou plusieurs lots
if (document.nom_du_formulaire.genre.value = 'femme'){
var s1=0;
var prixP = 0;
var prix4 = 0;
var prix7 = 0;
var prix8 = 0;
var prix10 = 0;
if(document.nom_du_formulaire.partie.value = 'partie1'){
prixP = 10;
alert(prixP);
}
else if(document.nom_du_formulaire.partie.value = 'partie2'){
prixP = 20;
alert(prixP);
}
else if(document.nom_du_formulaire.partie.value = 'partie3'){
prixP = 30;
alert(prixP);
}
if(document.nom_du_formulaire.lot3.checked==true){
prix4 = 4;
alert(prix4);
}
if(document.nom_du_formulaire.lot7.checked==true){
prix7 = 7;
alert(prix7);
}
if(document.nom_du_formulaire.lot10.checked==true){
prix8 = 8;
alert(prix8);
}
if(document.nom_du_formulaire.lot20.checked==true){
prix10 = 10;
alert(prix10);
}
document.nom_du_formulaire.affichage_du_total.value=parseInt(s1)+parseInt(prixP)+parseInt(prix4)parseInt(prix7)+parseInt(prix8)+parseInt(prix10);
alert(document.nom_du_formulaire.affichage_du_total.value);
}
}
</script>
</head>
<body>
<form name="nom_du_formulaire" method="POST">
<br/>
<br/>
<select name="genre" onchange="calcul()">
<option value="homme"> homme</option>
<option value="femme"> femme</option>
</select>
<br/>
<br/>
<select name="partie" onchange="calcul()">
<option value="partie1"> partie1</option>
<option value="partie2"> partie2</option>
<option value="partie3"> partie3</option>
</select>
<br/>
<br/>
<INPUT type="checkbox" name="lot3" value="lot3" onclick="calcul()">lot 3
<INPUT type="checkbox" name="lot7" value="lot7" onclick="calcul()">lot 7
<INPUT type="checkbox" name="lot10" value="lot10" onclick="calcul()">lot 10
<INPUT type="checkbox" name="lot20" value="lot20" onclick="calcul()">lot 20
<br/>
<br/>
<br/>
Total : <input type="text" name="affichage_du_total" value="" size="7" >
</form>
</body>
</html>