Formulaire avec liste de valeurs permettant le calcul du total

Rabbit83 Messages postés 4 Date d'inscription mardi 19 mai 2009 Statut Membre Dernière intervention 22 mai 2009 - 19 mai 2009 à 18:10
Rabbit83 Messages postés 4 Date d'inscription mardi 19 mai 2009 Statut Membre Dernière intervention 22 mai 2009 - 22 mai 2009 à 09:53
Bonjour,
je me permets de vous soumettre mon problème, étatnt un débutant en javascript.
Je souhaite construire un formulaire dans lequel l'utilisateur sélectionne une valeur dans une liste. Suivant ll'item sélectionné, la valeur diffère et est ajoutée au total.
J'ai trouvé un script qui marche bien sur internet, mais il ne fonctionne qu'avec des boîtes à cocher ou des boutons radio.
J'ai essayé de le modifier avec le tag select , mais je n'y arrive pas.
Je soupçonne bien que j'ai du faire une erreur de syntaxe, mais un peu d'aide pour le novice que je suis serait très appréciée.
Je vous joins le code ci-dessous ( j'ai laissé les noms de valeurs d'origine pour les boutons radio).
Merci d'avance de vos réponses.




<gras><form method="POST" name="selectionForm">Votre montage
<select name="fonction"><option value="10">une séquence</option><option value="20">2 séquences</option>
< Option VALUE="30">3 séquences<option value="40"> 4 séquences</option><option value="50">5 séquences</option>
onclick="this.form.total.value=calculateTotal(this);
</select>

Supplément :
1 séquence

2 séquences

3 séquences

4 séquences

5 séquences

6 séquences

7 séquences

Your total is:</form>

6 réponses

Rabbit83 Messages postés 4 Date d'inscription mardi 19 mai 2009 Statut Membre Dernière intervention 22 mai 2009
19 mai 2009 à 18:17
... heu, je commence mal !
Pouvez-vous me dire comment faire pour que le code s'affiche sous forme de code et non de résultat ? Javascript:Insert_Emoticon('/imgs2/smile_blush.gif');
0
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
19 mai 2009 à 20:07
0
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
19 mai 2009 à 20:12
Bonjour,
tiens le message a disparu ???????
Je
disais donc d'utiliser la TexteBox classic en cliquant sur le lien en dessous de
la zone d'édition
;O)
0
Rabbit83 Messages postés 4 Date d'inscription mardi 19 mai 2009 Statut Membre Dernière intervention 22 mai 2009
19 mai 2009 à 20:26
J'espère que le code va passer cette fois...

//<script type="text/javascript">
/*
Kevin Hartig :: http://www.grafikfx.net/
*/

// Calculate the total for items in the form which are selected.
function calculateTotal(inputItem) {
with (inputItem.form) {
// Process each of the different input types in the form.
if (inputItem.type == "radio") { // Process radio buttons.
// Subtract the previously selected radio button value from the total.
calculatedTotal.value = eval(calculatedTotal.value) - eval(previouslySelectedRadioButton.value);
// Save the current radio selection value.
previouslySelectedRadioButton.value = eval(inputItem.value);
// Add the current radio button selection value to the total.
calculatedTotal.value = eval(calculatedTotal.value) + eval(inputItem.value);
} else { // Process check boxes.
if (inputItem.checked == false) { // Item was uncheck. Subtract item value from total.
calculatedTotal.value = eval(calculatedTotal.value) - eval(inputItem.value);
} else { // Item was checked. Add the item value to the total.
calculatedTotal.value = eval(calculatedTotal.value) + eval(inputItem.value);
}
}

// Total value should never be less than 0.
if (calculatedTotal.value < 0) {
InitForm();
}

// Return total value.
return(formatCurrency(calculatedTotal.value));
}
}

// Format a value as currency.
function formatCurrency(num) {
num = num.toString().replace(/\$|\,/g,'');
if(isNaN(num))
num = "0";
sign (num (num = Math.abs(num)));
num = Math.floor(num*100+0.50000000001);
cents = num%100;
num = Math.floor(num/100).toString();
if(cents<10)
cents = "0" + cents;
for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
num = num.substring(0,num.length-(4*i+3)) + ',' + num.substring(num.length-(4*i+3));
return (((sign)?'':'-') + '€' + num + '.' + cents);
}

// This function initialzes all the form elements to default values.
function InitForm() {
// Reset values on form.
document.selectionForm.total.value='€0';
document.selectionForm.calculatedTotal.value=0;
document.selectionForm.previouslySelectedRadioButton.value=0;

// Set all checkboxes and radio buttons on form to unchecked.
for (i=0; i < document.selectionForm.elements.length; i++) {
if (document.selectionForm.elements[i].type == 'checkbox' | document.selectionForm.elements[i].type == 'radio') {
document.selectionForm.elements[i].checked = false;
}
}
}
</script>




<form method="POST" name="selectionForm">
Votre montage

<SELECT name="fonction">
<Option VALUE="10">une séquence</OPTION>
<Option VALUE="20">2 séquences</OPTION>
< Option VALUE="30">3 séquences</OPTION>
<Option VALUE="40"> 4 séquences</OPTION>
<Option VALUE="50">5 séquences</OPTION>
onclick="this.form.total.value=calculateTotal(this);
</SELECT>

Supplément :

1 séquence

2 séquences

3 séquences

4 séquences

5 séquences

6 séquences

7 séquences

Your total is:

</form>
//
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
19 mai 2009 à 22:45
Bonjour,
<table bgcolor= "#e6effe" border="0" cellpadding="5" cellspacing="0" width="100%">----, Je soupçonne bien que j'ai du faire une erreur
de syntaxe</td>
</td></tr></tbody></table>il
semblerait effectivement
<form method="POST" name="selectionForm">
  Votre
montage

  <select name="fonction" onclick="this.form.total.value=calculateTotal(this);" >

  <option value ="10">une séquence</option>
  <option
value="20">2 séquences</option>
  <option value="30">3
séquences</option>
  <option value="40">4
séquences</option>
  <option value="50">5
séquences</option>
  </select>
//et
la suite
l'événement doit être dans la balise SELECT et non à l'extérieur

Sans préjuger du
reste...
;O)
0
Rabbit83 Messages postés 4 Date d'inscription mardi 19 mai 2009 Statut Membre Dernière intervention 22 mai 2009
22 mai 2009 à 09:53
Ca marche parfaitement ! Mille mercis

Je savais que j'avais encore BEAUCOUP à apprendre !
Pouvez-vous me conseiller un bon bouquin pour démarrer ?
Merci d'avance
0
Rejoignez-nous