Nouvelle formule dans un script

Nouvelle formule dans un script - Javascript/Node.js - Programmation

Marsh Posté le 13-12-2015 à 20:12:38    

Bonjour à tous et à toutes !
 
J'avais déjà posté il y a quelque temps pour obtenir de l'aide.
 
En résumé, je corrige des textes en français (orthographe, grammaire...).
 
A la base, je proposais deux formules (simple et approfondie) et trois sous-catégories (étudiant, particulier et professionnel). Ci-dessous le script :
 

Code :
  1. {source 0}
  2. <!DOCTYPE html>
  3. <html lang="fr">
  4. <head>
  5.   <meta charset="utf-8">
  6.   <title>Blog de correction textes</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: 14px;
  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/2013 : Cliquez 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.        
  111.    
  112.        
  113.       </p>
  114.       <p class="details">
  115.         Voir <a href="formules/correction-reformulation">tableau comparatif</a>
  116.       </p>
  117.       <p>
  118.         <label class="etape" for="formjur">Statut</label>
  119.         <select id="formjur" name="formjur">
  120.           <option value="0">Étudiant</option>
  121.           <option value="1">Particulier</option>
  122.           <option value="2">Professionnel</option>
  123.         </select>
  124.         <input type="submit" value="Calculer" />
  125.       </p>
  126.     </fieldset>
  127.   </form>
  128.   <div id="resultat"></div>
  129. </section>
  130. <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
  131. <script type="text/javascript">// <![CDATA[
  132. function formatNumber (num) {
  133.     return num.toString().replace(/(\d)(?=(\d{3})+(?!\d))/g, "$1 " )
  134. }
  135. $(function(){
  136.        $("input:submit" ).click(
  137.             function(){
  138.                 var calcul = 0;
  139.    var coefReduction = 10/100;
  140.                 if($("input:checked" ).val() == 1){
  141.                     if($("#formjur" ).val()== 1){
  142.                         calcul = $("#nbchar" ).val() * 0.0035;
  143.                     }else if ($("#formjur" ).val()== 2) {
  144.                         calcul = $("#nbchar" ).val() * 0.004;
  145.                     }else{
  146.                         calcul = $("#nbchar" ).val() * 0.003;
  147.                     }
  148.                 }else{
  149.                     if($("#formjur" ).val()== 1){
  150.                         calcul = $("#nbchar" ).val() * 0.0058;
  151.                     }else if ($("#formjur" ).val()== 2) {
  152.                         calcul = $("#nbchar" ).val() * 0.0066;
  153.                     }else{
  154.                         calcul = $("#nbchar" ).val() * 0.005;
  155.                     }
  156.        
  157.              
  158.                  
  159.                 }
  160.                 var resultat = Math.ceil(calcul);
  161.       var resultatMajore = resultat + (calcul * coefReduction);
  162.                 $("#resultat" ).html("Tarif généralement appliqué : <span id=\"prix\">"+formatNumber(resultat)+" &euro; </span>/ Si correction en rouge :  <span id=\"prix\">"+formatNumber(Math.round(resultatMajore))+" &euro; </span>"  );
  163.                 return false;
  164.             }
  165.        
  166.         );
  167.     });
  168. // ]]></script>


 
Je souhaiterais ajouter une troisième formule (Réécriture) avec ces tarifs : 0,08 ; 0,09 et 0,1.
 
J'ai essayé d'ajouter ces lignes, mais cela ne marche pas :
 
 

Code :
  1. <input  id="forumle1" type="radio" name="formule" value="1" checked="checked" />
  2. <label for="forumle1">Simple</label>
  3. <input  id="formule2" type="radio" name="formule" value="2" />
  4. <label for="formule2" />Approfondie</label>
  5. <input  id="formule3" type="radio" name="formule" value="3" />
  6. <label for="formule3" />Réécriture</label>


 
 

Code :
  1. if($("input:checked" ).val() == 1){
  2.                     if($("#formjur" ).val()== 1){
  3.                         calcul = $("#nbchar" ).val() * 0.0035;
  4.                     }else if ($("#formjur" ).val()== 2) {
  5.                         calcul = $("#nbchar" ).val() * 0.004;
  6.                     }else{
  7.                         calcul = $("#nbchar" ).val() * 0.003;
  8.                     }
  9.                 }else{
  10.                     if($("#formjur" ).val()== 1){
  11.                         calcul = $("#nbchar" ).val() * 0.0058;
  12.                     }else if ($("#formjur" ).val()== 2) {
  13.                         calcul = $("#nbchar" ).val() * 0.0066;
  14.                     }else{
  15.                         calcul = $("#nbchar" ).val() * 0.005;
  16.                     }
  17.                     }else{
  18.                     if($("#formjur" ).val()== 1){
  19.                         calcul = $("#nbchar" ).val() * 0.009;
  20.                     }else if ($("#formjur" ).val()== 2) {
  21.                         calcul = $("#nbchar" ).val() * 0.01;
  22.                     }else{
  23.                         calcul = $("#nbchar" ).val() * 0.008;
  24.                     }


 
Pourriez-vous m'aider, s'il vous plaît ?
 
Merci beaucoup.

Reply

Marsh Posté le 13-12-2015 à 20:12:38   

Reply

Marsh Posté le 13-12-2015 à 21:40:22    

Le HTML (<input  id...) à l'air bon, pour le JS faut faire un else if, voir ci-dessous.

Code :
  1. ......
  2. var coefReduction = 10/100;
  3.                 if($("input:checked" ).val() == 1){
  4.                     if($("#formjur" ).val()== 1){
  5.                         calcul = $("#nbchar" ).val() * 0.0035;
  6.                     }else if ($("#formjur" ).val()== 2) {
  7.                         calcul = $("#nbchar" ).val() * 0.004;
  8.                     }else{
  9.                         calcul = $("#nbchar" ).val() * 0.003;
  10.                     }
  11.                 }
  12.    else if($("input:checked" ).val() == 2) {
  13.                     if($("#formjur" ).val()== 1){
  14.                         calcul = $("#nbchar" ).val() * 0.0058;
  15.                     }else if ($("#formjur" ).val()== 2) {
  16.                         calcul = $("#nbchar" ).val() * 0.0066;
  17.                     }else{
  18.                         calcul = $("#nbchar" ).val() * 0.005;
  19.                     }
  20.                 }
  21.    else {
  22.                     if($("#formjur" ).val()== 1){
  23.                         calcul = $("#nbchar" ).val() * 0.009;
  24.                     }else if ($("#formjur" ).val()== 2) {
  25.                         calcul = $("#nbchar" ).val() * 0.01;
  26.                     }else{
  27.                         calcul = $("#nbchar" ).val() * 0.008;
  28.                     }
  29.                 }
  30.                 var resultat = Math.ceil(calcul);
  31. ......


 
Les $("#formjur" ).val()== 2 c'est pas très explicite je trouve, mais je ne saurais dire comment faire mieux. :o

Reply

Marsh Posté le 13-12-2015 à 21:40:25    

doublon


Message édité par rat de combat le 13-12-2015 à 21:40:52
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed