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

  FORUM HardWare.fr
  Programmation
  Javascript/Node.js

  Nouvelle formule dans un script

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Nouvelle formule dans un script

n°2271488
liliana78
Posté le 13-12-2015 à 20:12:38  profilanswer
 

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.

mood
Publicité
Posté le 13-12-2015 à 20:12:38  profilanswer
 

n°2271499
rat de com​bat
attention rongeur méchant!
Posté le 13-12-2015 à 21:40:22  profilanswer
 

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

n°2271500
rat de com​bat
attention rongeur méchant!
Posté le 13-12-2015 à 21:40:25  profilanswer
 

doublon


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

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

  Nouvelle formule dans un script

 

Sujets relatifs
Appel batch à partir script powershellPowershell - Problème script création d'utilisateur dans l'AD
Arrêt d'un PC avec un script batchScript BATH
aide pour finaliser un scriptAppliquer une formule sur une colonne de plage
Script de sondageExcel formule avec si(et(ou
[Débutant] pour faire un script greasemonkeye voudrais lancer plusieurs script Perl à partir d'un autre script Per
Plus de sujets relatifs à : Nouvelle formule dans un script


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