Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1032 connectés 

  FORUM HardWare.fr
  Programmation
  Javascript/Node.js

  Réduction script

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Réduction script

n°2260810
liliana78
Posté le 20-06-2015 à 19:51:35  profilanswer
 

Bonjour à toutes et tous !
 
Je ne sais vraiment pas si je suis dans le bon sous-forum. Si ce n'est pas le cas, je vous demande de bien vouloir m'excuser.
 
Pour être honnête, je ne connais absolument rien en langage informatique. Mon domaine est plutôt l'orthographe. Je suis correctrice de textes en français.
 
Je suis d'ailleurs en pleine création d'un site web relatif à cette activité. Je fais tout par moi-même, n'ayant pas beaucoup de revenus pour le moment.
 
Une connaissance à moi m'a aidée à élaborer un script de devis en ligne pour mon site internet.
 

Code :
  1. {source 0}
  2. <!DOCTYPE html>
  3. <html lang="fr">
  4. <head>
  5.   <meta charset="utf-8">
  6.   <title>Blog</title>
  7.   <style>
  8.   body {
  9.   background-size: 5px 900px, 6px 6px;
  10.   font-family: Verdana, Geneva, sans-serif;
  11.   font-size: 13px;
  12.   color: #000309;
  13.   text-align: left;
  14.   line-height: 24px;
  15. }
  16. #page {
  17.   width: 650px;
  18.   margin: auto;
  19.   padding: 20px;
  20.   background: #d8d8d8; /* Old browsers */
  21.   background: -webkit-gradient(linear, left top, left bottom, color-stop(1%,#d8d8d8), color-stop(100%,#ffffff)); /* Chrome,Safari4+ */
  22.   filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#d8d8d8', endColorstr='#ffffff',GradientType=0 ); /* IE6-9 */
  23.   background:    -moz-linear-gradient(top,       #d8d8d8 1%, #ffffff 100%); /* FF3.6+ */
  24.   background: -webkit-linear-gradient(top,       #d8d8d8 1%, #ffffff 100%); /* Chrome10+,Safari5.1+ */
  25.   background:      -o-linear-gradient(top,       #d8d8d8 1%, #ffffff 100%); /* Opera 11.10+ */
  26.   background:     -ms-linear-gradient(top,       #d8d8d8 1%, #ffffff 100%); /* IE10+ */
  27.   background:         linear-gradient(to bottom, #d8d8d8 1%, #ffffff 100%); /* W3C */
  28. }
  29. #prix { font-weight:bold; font-size:200%; color:blue; }
  30. h1 {
  31.   font-size: 0em;
  32.   line-height: 1em;
  33.   margin: 0;
  34.   text-transform: uppercase;
  35. }
  36. fieldset {
  37.   border: none;
  38.   margin: 0 0 1ex;
  39.   padding: 0;
  40. }
  41. .explications {
  42.   border-left: solid thin #0042b0;
  43.   padding-left: 1ex;
  44. }
  45. .explications ul {
  46.   list-style: none;
  47.   font-size: 10px;
  48.   font-style: italic;
  49.   padding: 0;
  50. }
  51. .explications li {
  52.   margin: 1ex 0;
  53. }
  54. .explications h2 {
  55.   font-style: italic;
  56.   font-size: 1em;
  57.   margin: 0 0 1em;
  58. }
  59. explications h3 {
  60.   font-style: italic;
  61.   font-size: 1em;
  62.   margin: 0 0 1em;
  63. }
  64. .etape {
  65.   font-weight: bold;
  66.   text-transform: uppercase;
  67. }
  68. .etape::after {
  69.   content: "\00A0: ";
  70. }
  71.   </style>
  72. </head>
  73. <body>
  74. <!DOCTYPE html>
  75. <html lang="fr">
  76. <head>
  77.   <meta charset="utf-8">
  78.   <title>Devis pour correction &ndash; Liliana78</title>
  79. </head>
  80. <body>
  81. <section id="page">
  82.   <h1>Coût de votre correction</h1>
  83.   <form id="testform">
  84.     <fieldset>
  85.       <p>
  86.         <label for="nbchar" class="etape">Nombre de signes</label>
  87.         <input id="nbchar" type="text" name="nbchar" value="0" />
  88.       </p>
  89.       <div class="explications">
  90.         <h2>Où trouver le nombre de signes ? (Caractères + espaces) </h2>
  91.         <ul>
  92.           <li>Word 2007/2010 : Cliquez sur sur l'onglet <strong>Révisions</strong>,
  93.             puis <strong>Vérification</strong> et enfin <strong>Statistiques</strong>.
  94.             Repérez la ligne <strong>caractères espaces compris.</strong>
  95.           </li>
  96.           <li>Word 2003/OpenOffice : Cliquez sur <strong>Outils</strong>,
  97.             puis <strong>Statistiques.</strong> Repérez la ligne
  98.             <strong>caractères espaces compris.</strong>
  99.           </li>
  100.         </ul>
  101.       </div>
  102.     </fieldset>
  103.     <fieldset>
  104.       <p>
  105.         <strong class="etape">Formule</strong>
  106.         <input  id="forumle1" type="radio" name="formule" value="1" checked="checked" />
  107.         <label for="forumle1">Simple</label>
  108.         <input  id="formule2" type="radio" name="formule" value="2" />
  109.         <label for="formule2" />Approfondie</label>
  110.       </p>
  111.       <p class="details">
  112.         Voir <a href="formules/correction-reformulation">tableau comparatif</a>
  113.       </p>
  114.       <p>
  115.         <label class="etape" for="formjur">Statut</label>
  116.         <select id="formjur" name="formjur">
  117.           <option value="0">Étudiant</option>
  118.           <option value="1">Particulier</option>
  119.           <option value="2">Professionnel</option>
  120.         </select>
  121.         <input type="submit" value="Calculer" />
  122.       </p>
  123.     </fieldset>
  124.   </form>
  125.   <div id="resultat"></div>
  126. </section>
  127. <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
  128. <script type="text/javascript">// <![CDATA[
  129. $(function(){
  130.        $("input:submit" ).click(
  131.             function(){
  132.                 var calcul = 0;
  133.                 if($("input:checked" ).val() == 1){
  134.                     if($("#formjur" ).val()== 1){
  135.                         calcul = $("#nbchar" ).val() * 0.0035;
  136.                     }else if ($("#formjur" ).val()== 2) {
  137.                         calcul = $("#nbchar" ).val() * 0.004;
  138.                     }else{
  139.                         calcul = $("#nbchar" ).val() * 0.003;
  140.                     }
  141.                 }else{
  142.                     if($("#formjur" ).val()== 1){
  143.                         calcul = $("#nbchar" ).val() * 0.0058;
  144.                     }else if ($("#formjur" ).val()== 2) {
  145.                         calcul = $("#nbchar" ).val() * 0.0066;
  146.                     }else{
  147.                         calcul = $("#nbchar" ).val() * 0.005;
  148.                     }
  149.                 }
  150.                 var resultat = Math.ceil(calcul);
  151.                 $("#resultat" ).html("Le coût indicatif de votre devis est de <span id=\"prix\">"+resultat+" &euro;</span>" );
  152.                 return false;
  153.             }
  154.            
  155.         );
  156.     });
  157. // ]]></script>


 
La personne doit renseigner le nombre de lettres de son document, cocher la formule choisie (simple ou approfondie) et son statut (étudiant, particulier ou professionnel). Les tarifs varient en fonction de ces éléments.
 
Or, je souhaiterais que lorsque le tarif s'affiche, à côté, entre parenthèses, s'affiche le montant en cas de commande déjà effectuée sur le site ou en cas de parrainage (sans virgule, arrondi à l'unité supérieure, comme ça l'est déjà pour le premier montant).
 
Par exemple, le coût indicatif de votre devis est de 100 euros (90 euros en cas de commande déjà effectuée sur le site/parrainage).  
 
Je dois donc insérer des nouveaux prix à côté des premiers dans le script.
 
Je n'ai aucune idée de comment faire tout ça.
 
Pourriez-vous me donner des pistes, s'il vous plaît ?
 
Merci.

mood
Publicité
Posté le 20-06-2015 à 19:51:35  profilanswer
 

n°2260812
boblenain2​00
Posté le 20-06-2015 à 21:03:39  profilanswer
 

D'ou provient la donnée permettant de savoir si il y a deja eu une commande ou un parrainage ?

n°2260813
liliana78
Posté le 20-06-2015 à 21:10:45  profilanswer
 

En fait, le client n'indique rien. C'est juste une information qui s'affiche lorsque le tarif apparaît. Par exemple, si le tarif de 100 euros s'affiche, entre parenthèses, à côté, il est écrit : (90 euros en cas de commande déjà effectuée sur le site/parrainage).
 
Il faut donc que j'insère dans mon script les tarifs qui permettront d'afficher le prix entre parenthèses.

n°2260814
caps lock
Posté le 20-06-2015 à 21:14:21  profilanswer
 

Ce qu'on a tenté de te demander, c'est comment tu procèdes pour conserver une mémoire dans ton site ? Pour cela tu as besoin d'un langage côté serveur comme le PHP par exemple. Afin d'avoir accès à une base de donnée qui va contenir à la fois les noms de tes utilisateurs, leurs mots de passe, ainsi que la liste des commandes. De ce fait tu pourras faire très facilement ta requête

n°2260815
liliana78
Posté le 20-06-2015 à 21:18:23  profilanswer
 

Non, je n'ai pas cette base de données. Mon site est très simple et je n'ai pas les compétences informatiques pour faire cela. Je ne garde rien en mémoire.
Le client insère juste le nombre de lettres de son document, choisit la formule et mentionne son statut. Le tarif apparaît. Mon script fait tout cela. J'ai juste besoin qu'entre parenthèses, à côté du tarif final, apparaisse une information, à savoir le tarif applicable pour les clients fidèles et en cas de parrainage.
 
Merci à vous.

n°2260816
caps lock
Posté le 20-06-2015 à 21:23:00  profilanswer
 

Dans ce cas comment savoir si le client à déjà fait une commande ?

n°2260817
liliana78
Posté le 20-06-2015 à 21:58:40  profilanswer
 

Je n'ai pas à le savoir.

 

Une personne veut connaître le tarif :

 

Elle remplit le formulaire. Le tarif s'affiche ; et à côté, entre parenthèses, s'affiche le tarif pour les personnes ayant déjà commandé antérieurement.

 

Par exemple :
Votre devis est de 100 euros (90 euros si vous êtes déjà client ou en cas de parrainage).

 

Ce second tarif s'affiche pour tout le monde.


Message édité par liliana78 le 20-06-2015 à 21:59:20
n°2260822
boblenain2​00
Posté le 20-06-2015 à 23:25:11  profilanswer
 

Ah ok. C'est donc extrêmement simple. Il suffit de modifier la ligne 168 et d'ajouter le texte à la suite :)

n°2260823
boblenain2​00
Posté le 20-06-2015 à 23:27:23  profilanswer
 

Quelle est la formule pour la réduction ? Toujours 10 euros de moins ? Ou un pourcentage du devis ?

n°2260829
liliana78
Posté le 21-06-2015 à 07:36:23  profilanswer
 

Merci pour ta réponse.
 
En fait, pour 0,0035 (tarif au caractère; voir script) : 0,0030 (tarif applicable pour clients fidèles et en cas de parrainage).
Pour 0,004 : 0,0033
Pour 0,003 : 0,0025
 
Pour 0,0058 : 0,0043
Pour 0,0066 : 0,005
Pour 0,005 : 0,00375
 
Merci.

mood
Publicité
Posté le 21-06-2015 à 07:36:23  profilanswer
 

n°2260846
caps lock
Posté le 21-06-2015 à 23:17:30  profilanswer
 

quelque chose dans le genre ? j'ai juste appliqué un pourcentage de 12%

Code :
  1. $(function(){
  2.        $("input:submit" ).click(
  3.             function(){
  4.                 var calcul = 0;
  5.    var coefReduction = 12/100;
  6.                 if($("input:checked" ).val() == 1){
  7.                     if($("#formjur" ).val()== 1){
  8.                         calcul = $("#nbchar" ).val() * 0.0035;
  9.                     }else if ($("#formjur" ).val()== 2) {
  10.                         calcul = $("#nbchar" ).val() * 0.004;
  11.                     }else{
  12.                         calcul = $("#nbchar" ).val() * 0.003;
  13.                     }
  14.                 }else{
  15.                     if($("#formjur" ).val()== 1){
  16.                         calcul = $("#nbchar" ).val() * 0.0058;
  17.                     }else if ($("#formjur" ).val()== 2) {
  18.                         calcul = $("#nbchar" ).val() * 0.0066;
  19.                     }else{
  20.                         calcul = $("#nbchar" ).val() * 0.005;
  21.                     }
  22.                 }
  23.                 var resultat = Math.ceil(calcul);
  24.    var resultatMajore = resultat - (calcul * coefReduction);
  25.                 $("#resultat" ).html("Le coût indicatif de votre devis est de <span id=\"prix\">"+resultat+" &euro; </span> tarif applicable pour clients fidèles et en cas de parrainage  <span id=\"prix\">"+resultatMajore+" &euro; </span>"  );
  26.                 return false;
  27.             }
  28.          
  29.         );
  30.     });

n°2260878
liliana78
Posté le 22-06-2015 à 17:19:42  profilanswer
 

Je te remercie énormément de ta réponse.
 
Est-il possible d'arrondir le prix à l'unité supérieure (ne pas avoir de chiffre avec virgule) ?
De même, est-il possible qu'il y ait un retour à la ligne et une inversion des mots ? :
Le coût indicatif de votre devis est....
(.... euros pour clients fidèles....)
 
Merci énormément.

n°2260883
caps lock
Posté le 22-06-2015 à 18:56:15  profilanswer
 

Code :
  1. $("#resultat" ).html("Le coût indicatif de votre devis est de <span id=\"prix\">"+resultat+" &euro; </span> <br/>tarif applicable pour clients fidèles et en cas de parrainage  <span id=\"prix\">"+Math.round(resultatMajore)+" &euro; </span>"  );

n°2260985
liliana78
Posté le 23-06-2015 à 17:34:06  profilanswer
 

Merci infiniment.
 
J'aurais une dernière question. Lorsqu'un tarif (le premier ou celui des clients fidèles) à partir de 1 000 s'affiche, il n'y a pas d'espace. Exemple : 1250 au lieu de 1 250. Or, cet espace est essentiel. Existe-t-il une solution ?
 
Merci de votre aide.

n°2260987
caps lock
Posté le 23-06-2015 à 17:49:24  profilanswer
 

Code :
  1. function formatNumber (num) {
  2.     return num.toString().replace(/(\d)(?=(\d{3})+(?!\d))/g, "$1 " )
  3. }
  4. $(function(){
  5.        $("input:submit" ).click(
  6.             function(){
  7.                 var calcul = 0;
  8.    var coefReduction = 12/100;
  9.                 if($("input:checked" ).val() == 1){
  10.                     if($("#formjur" ).val()== 1){
  11.                         calcul = $("#nbchar" ).val() * 0.0035;
  12.                     }else if ($("#formjur" ).val()== 2) {
  13.                         calcul = $("#nbchar" ).val() * 0.004;
  14.                     }else{
  15.                         calcul = $("#nbchar" ).val() * 0.003;
  16.                     }
  17.                 }else{
  18.                     if($("#formjur" ).val()== 1){
  19.                         calcul = $("#nbchar" ).val() * 0.0058;
  20.                     }else if ($("#formjur" ).val()== 2) {
  21.                         calcul = $("#nbchar" ).val() * 0.0066;
  22.                     }else{
  23.                         calcul = $("#nbchar" ).val() * 0.005;
  24.                     }
  25.                 }
  26.                 var resultat = Math.ceil(calcul);
  27.    var resultatMajore = resultat - (calcul * coefReduction);
  28.                 $("#resultat" ).html("Le coût indicatif de votre devis est de <span id=\"prix\">"+formatNumber(resultat)+" &euro; </span> <br/>tarif applicable pour clients fidèles et en cas de parrainage  <span id=\"prix\">"+formatNumber(Math.round(resultatMajore))+" &euro; </span>"  );
  29.                 return false;
  30.             }
  31.          
  32.         );
  33.     });

n°2261002
liliana78
Posté le 23-06-2015 à 20:53:43  profilanswer
 

Merci, mais malheureusement cela ne marche pas (toujours pas d'espace). J'ai ajouté les quatre lignes du début.


Message édité par liliana78 le 23-06-2015 à 20:54:53
n°2261008
caps lock
Posté le 23-06-2015 à 21:10:32  profilanswer
 

Et tu as oublié de comparer les dernières... c'est pour cela que j'avais remis l'intégralité de ton script...
 

Code :
  1. formatNumber(......)

n°2261011
liliana78
Posté le 23-06-2015 à 21:57:46  profilanswer
 

Ok. Mais cela ne marche que pour le 2nd tarif qui s'affiche (après réduction) et pas pour le 1er.

n°2261024
caps lock
Posté le 24-06-2015 à 03:11:48  profilanswer
 

http://reho.st/medium/self/836b0de799025c6b15f078d0a801920e2fed20c5.png


Message édité par caps lock le 24-06-2015 à 03:13:52

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Javascript/Node.js

  Réduction script

 

Sujets relatifs
Aide pour scriptcliquer sur un lien pour lancer un script
script qui scane un reseauexecution script en local
[DEBUTANT] premier script .shScript Wheel mouse, éviter les erreur de scroll
Script de crawlingDomoticz - Mise à jour d'un script (.cpp, .h) - Question de noob
Multipe requête sql dans un script vbsaide script shell pour projet scolaire
Plus de sujets relatifs à : Réduction script


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR