par
Ryle » 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

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)
[php]<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>[/php]
Il ne reste plus qu'à définir ce que fait la fonction :
[php]<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>[/php]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 :)