Advertisement
Guest User

jhmk

a guest
Dec 16th, 2019
230
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // tableau contenant les prix des différentes références de macarons
  2. // le contenu de ce tableau pourra être récupéré sur le serveur dans une prochaine version
  3. var prixUnitaires = [0.50,0.70,0.80,0.80]; // cerise,citron,chocolat,oranger
  4.  
  5. // cette fonction se charge de modifier le tableau de commande lorsque l'utilisateur fait un choix de quantité
  6.  
  7. function formatMoney(amount, decimalCount = 2, decimal = ",") {
  8.     try {
  9.       decimalCount = Math.abs(decimalCount);
  10.       decimalCount = isNaN(decimalCount) ? 2 : decimalCount;
  11.       let i = parseInt(amount = Math.abs(Number(amount) || 0).toFixed(decimalCount)).toString();
  12.       let j = (i.length > 3) ? i.length % 3 : 0;
  13.       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) : "");
  14.     } catch (e) {
  15.     }
  16.   };
  17.  
  18. function changeQuantite0() {
  19.     // récupère la quantité saisie par l'utilisateur
  20.     var quantite = document.getElementById("quantite_0").value;
  21.     // reporte cette quantité dans le tableau "Votre Commande" en bas de la page
  22.     document.getElementById("commandeQuantite_0").innerHTML = quantite;
  23.     // met à jour la dernière colonne du tableau "Votre Commande" (calcul du prix par référence)
  24.     //  (le prix unitaire du macaron à la cerise se trouve dans le tableau prixUnitaires à la position 0)
  25.     document.getElementById("commandePrixReference_0").innerHTML = formatMoney(quantite).innerHTML = formatMoney (quantite*prixUnitaires[0]);
  26. }
  27.  
  28. function changeQuantite1() {
  29.  
  30.     var quantite = document.getElementById("quantite_1").value;
  31.     document.getElementById("commandeQuantite_1").innerHTML = quantite;
  32.  
  33.     document.getElementById("commandePrixReference_1").innerHTML = formatMoney(quantite).innerHTML = formatMoney (quantite*prixUnitaires[1]);
  34. }
  35.  
  36. function changeQuantite2() {
  37.  
  38.     var quantite = document.getElementById("quantite_2").value;
  39.     document.getElementById("commandeQuantite_2").innerHTML = quantite;
  40.  
  41.     document.getElementById("commandePrixReference_2").innerHTML = formatMoney(quantite).innerHTML = formatMoney (quantite*prixUnitaires[2]);
  42. }
  43.  
  44. function changeQuantite3() {
  45.  
  46.     var quantite = document.getElementById("quantite_3").value;
  47.     document.getElementById("commandeQuantite_3").innerHTML = quantite;
  48.    
  49.     document.getElementById("commandePrixReference_3").innerHTML = formatMoney(quantite).innerHTML = formatMoney (quantite*prixUnitaires[3]);
  50. }
  51.  
  52.     /*
  53. //////////////////////////////////////////////////////////////////////////////////////////////////////////////
  54. Je te passe le relai dans ce projet. Voilà quelques informations pour toi :
  55.    
  56.     1) Quand on change le nombre de macarons à la cerise dans la page, la quantité change automatiquement
  57.     dans le tableau "Votre Commande" en bas de page : c'est parfait, c'est ce que veut le client.
  58.  
  59.     2) Par contre, je n'ai pas eu le temps de finir la ligne 13 ci-dessus : le client veut que le prix
  60.     s'affiche dans la dernière colonne ; par exemple pour une quantité de 2 macarons à la cerise, le prix
  61.     sera de 1 € et il doit s'afficher. JE crois qu'il faut utiliser innerHTML
  62.  
  63.     3) Je n'ai pas eu le temps de programmer la même chose pour les macarons au citron, au chocolat et à la
  64.     fleur d'oranger. Je te laisse le faire, il y a déjà la partie HTML, tu n'as plus que la partie Javascript
  65.     à réaliser ; mais attention, je voulais au départ faire une fonction par parfum mais le mieux c'est surement
  66.     de faire une seule fonction avec la référence (0 ou 1 ou 2 ou 3) en paramètre.
  67.    
  68.     4) Un collègue m'a dit que pour afficher un prix avec les euros et les centimes, il utilise une fonction
  69.     formatMoney. Par exemple formatMoney(5) donne 5,00. Je t'ai mis cette fonction dans un fichier du dossier js,
  70.     tu devrais l'utiliser.
  71.  
  72. Quand tu auras fait tout cela, montre-le au chef de projet pour valider ton travail, il aura encore d'autres choses
  73. à te demander.
  74. ///////////////////////////////////////////////////////////////////////////////////////////////////////////////
  75. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement