Modérateur PHPfrance |
10684 Messages
29 juil. 2009, 14:17
Bah y a pas grand chose à connaitre en js pour répondre à ton besoin... il existe de nombreuses façons de faire, en voici une
Je déclare 3 champs dans un formulaire :
- Le prix unitaire en lecture seule (mais je peux tout aussi bien le mettre en hidden ou aller chercher l'info ailleurs en js)
- Le champ de saisie de la quantité. Je spécifie que lorsque l'utilisateur quitte ce champ (onblur) j'appelle une fonction javascript calculPrix().
- Le champ dans lequel j'affiche le prix (en lecture seule également)
<form name="monFormulaire" ...>
<input type="text" name="prix_unitaire" value="15" readonly="readonly" />
<input type="text" name="quantite" value="" onblur="calculPrix();" />
<input type="text" name="prix_total" value="" readonly="readonly" />
</form>
Il ne reste plus qu'à définir ce que fait la fonction :
<script type="text/javascript">
function calculPrix() {
// je récupère les valeurs renseignées dans les champs (ce sera plus explicite) :
var prixUnitaire = document.monFormulaire.prix_unitaire.value; // dans la page (document), le formulaire nommé "monFormulaire",
// dans lequel je vais chercher le champ "prix_unitaire", pour lequel je demande de récupérer la valeur de l'attribut value (et donc la valeur saisie)
var qte = document.monFormulaire.qte.value;
// je fais mon calcul :
var prix = prix_unitaire * qte;
// je met le résultat dans le champ qui va bien :
document.monFormulaire.prix.value = prix;
}
</script>
et le tour est joué
Bon après, tu auras à loisir de gérer la possibilité d'avoir plusieurs produits (donc plusieurs prix, qté, ...), le fait de passer des arguments à ta fonction, les cas ou ton visiteur va taper du texte au lieu d'un nombre, etc. Mais basiquement c'est pas plus compliqué que ça

Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...