Formulaire avec liste de valeurs permettant le calcul du total
Rabbit83
Messages postés4Date d'inscriptionmardi 19 mai 2009StatutMembreDernière intervention22 mai 2009
-
19 mai 2009 à 18:10
Rabbit83
Messages postés4Date d'inscriptionmardi 19 mai 2009StatutMembreDernière intervention22 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.
Rabbit83
Messages postés4Date d'inscriptionmardi 19 mai 2009StatutMembreDernière intervention22 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');
// 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>
PetoleTeam
Messages postés3426Date d'inscriptionlundi 26 décembre 2005StatutMembreDernière intervention14 janvier 201117 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
<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