Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // tableau contenant les prix des différentes références de macarons
- // le contenu de ce tableau pourra être récupéré sur le serveur dans une prochaine version
- var prixUnitaires = [0.50,0.70,0.80,0.80]; // cerise,citron,chocolat,oranger
- // cette fonction se charge de modifier le tableau de commande lorsque l'utilisateur fait un choix de quantité
- function formatMoney(amount, decimalCount = 2, decimal = ",") {
- try {
- decimalCount = Math.abs(decimalCount);
- decimalCount = isNaN(decimalCount) ? 2 : decimalCount;
- let i = parseInt(amount = Math.abs(Number(amount) || 0).toFixed(decimalCount)).toString();
- let j = (i.length > 3) ? i.length % 3 : 0;
- return (j ? i.substr(0, j) + ' ' : '') + i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + ' ') + (decimalCount ? decimal + Math.abs(amount - i).toFixed(decimalCount).slice(2) : "");
- } catch (e) {
- }
- };
- function changeQuantite0() {
- // récupère la quantité saisie par l'utilisateur
- var quantite = document.getElementById("quantite_0").value;
- // reporte cette quantité dans le tableau "Votre Commande" en bas de la page
- document.getElementById("commandeQuantite_0").innerHTML = quantite;
- // met à jour la dernière colonne du tableau "Votre Commande" (calcul du prix par référence)
- // (le prix unitaire du macaron à la cerise se trouve dans le tableau prixUnitaires à la position 0)
- document.getElementById("commandePrixReference_0").innerHTML = formatMoney(quantite).innerHTML = formatMoney (quantite*prixUnitaires[0]);
- }
- function changeQuantite1() {
- var quantite = document.getElementById("quantite_1").value;
- document.getElementById("commandeQuantite_1").innerHTML = quantite;
- document.getElementById("commandePrixReference_1").innerHTML = formatMoney(quantite).innerHTML = formatMoney (quantite*prixUnitaires[1]);
- }
- function changeQuantite2() {
- var quantite = document.getElementById("quantite_2").value;
- document.getElementById("commandeQuantite_2").innerHTML = quantite;
- document.getElementById("commandePrixReference_2").innerHTML = formatMoney(quantite).innerHTML = formatMoney (quantite*prixUnitaires[2]);
- }
- function changeQuantite3() {
- var quantite = document.getElementById("quantite_3").value;
- document.getElementById("commandeQuantite_3").innerHTML = quantite;
- document.getElementById("commandePrixReference_3").innerHTML = formatMoney(quantite).innerHTML = formatMoney (quantite*prixUnitaires[3]);
- }
- /*
- //////////////////////////////////////////////////////////////////////////////////////////////////////////////
- Je te passe le relai dans ce projet. Voilà quelques informations pour toi :
- 1) Quand on change le nombre de macarons à la cerise dans la page, la quantité change automatiquement
- dans le tableau "Votre Commande" en bas de page : c'est parfait, c'est ce que veut le client.
- 2) Par contre, je n'ai pas eu le temps de finir la ligne 13 ci-dessus : le client veut que le prix
- s'affiche dans la dernière colonne ; par exemple pour une quantité de 2 macarons à la cerise, le prix
- sera de 1 € et il doit s'afficher. JE crois qu'il faut utiliser innerHTML
- 3) Je n'ai pas eu le temps de programmer la même chose pour les macarons au citron, au chocolat et à la
- fleur d'oranger. Je te laisse le faire, il y a déjà la partie HTML, tu n'as plus que la partie Javascript
- à réaliser ; mais attention, je voulais au départ faire une fonction par parfum mais le mieux c'est surement
- de faire une seule fonction avec la référence (0 ou 1 ou 2 ou 3) en paramètre.
- 4) Un collègue m'a dit que pour afficher un prix avec les euros et les centimes, il utilise une fonction
- formatMoney. Par exemple formatMoney(5) donne 5,00. Je t'ai mis cette fonction dans un fichier du dossier js,
- tu devrais l'utiliser.
- Quand tu auras fait tout cela, montre-le au chef de projet pour valider ton travail, il aura encore d'autres choses
- à te demander.
- ///////////////////////////////////////////////////////////////////////////////////////////////////////////////
- */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement