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

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  changer une valeur de radio à partir d'un texte - devis en ligne

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

changer une valeur de radio à partir d'un texte - devis en ligne

n°1724154
Profil sup​primé
Posté le 25-04-2008 à 09:16:29  answer
 

Bonjour :D

 

J'ai trouvé un script fort sympathique, permettant de faire un petit module de calcul de devis en ligne. Ho... pas de TVA, rien d'officiel. Juste de quoi cocher des cases et des radios pour faire les additions automatiquement.

 

Pour mes besoins (non pas ça non....) j'essaye de modifier le truc. en effet, le script de base ne prévoir pas de quantités. Hors, j'aimerais bien pouvoir le faire... on coche une case pour ajouter un produit, on indique la quantité et hop, ça calcule tout seul.

 

je vous copie ci-dessous le code de base... et je veux bien vos idées sur le sujet, je ne sais pas du tout par quel bout attaquer cette histoire de quantité...

 

par exemple là. ce code permet de calculer automatiquement le total au fur et à mesure que l'on coche ou décoche. ça marche super bien. mais comment, par exemple, permettre à l'utilisateur d'indiquer une quantité pour l'option 2, tout en conservant le mode de fonctionnement actuel ?

 

merci tout plein pour vos idées !

 

(on verra plus tard pour les calculs dégressifs avec la quantité)

 

dans le head :

Code :
  1. <script type="text/javascript">
  2. /*
  3. Kevin Hartig :: http://www.grafikfx.net/
  4. */
  5. // Calculate the total for items in the form which are selected.
  6. function calculateTotal(inputItem) {
  7.   with (inputItem.form) {
  8.     // Process each of the different input types in the form.
  9.     if (inputItem.type == "radio" ) {   // Process radio buttons.
  10.       // Subtract the previously selected radio button value from the total.
  11.       calculatedTotal.value = eval(calculatedTotal.value) - eval(previouslySelectedRadioButton.value);
  12.       // Save the current radio selection value.
  13.       previouslySelectedRadioButton.value = eval(inputItem.value);
  14.       // Add the current radio button selection value to the total.
  15.       calculatedTotal.value = eval(calculatedTotal.value) + eval(inputItem.value);
  16.     } else {   // Process check boxes.
  17.       if (inputItem.checked == false) {   // Item was uncheck. Subtract item value from total.
  18.           calculatedTotal.value = eval(calculatedTotal.value) - eval(inputItem.value);
  19.       } else {   // Item was checked. Add the item value to the total.
  20.           calculatedTotal.value = eval(calculatedTotal.value) + eval(inputItem.value);
  21.       }
  22.     }
  23.     // Total value should never be less than 0.
  24.     if (calculatedTotal.value < 0) {
  25.       InitForm();
  26.     }
  27.     // Return total value.
  28.     return(formatCurrency(calculatedTotal.value));
  29.   }
  30. }
  31. // Format a value as currency.
  32. function formatCurrency(num) {
  33.   num = num.toString().replace(/\$|\,/g,'');
  34.   if(isNaN(num))
  35.      num = "0";
  36.   sign = (num == (num = Math.abs(num)));
  37.   num = Math.floor(num*100+0.50000000001);
  38.   cents = num%100;
  39.   num = Math.floor(num/100).toString();
  40.   if(cents<10)
  41.       cents = "0" + cents;
  42.   for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
  43.       num = num.substring(0,num.length-(4*i+3)) + ',' + num.substring(num.length-(4*i+3));
  44.   return (((sign)?'':'-') + '€' + num + '.' + cents);
  45. }
  46. // This function initialzes all the form elements to default values.
  47. function InitForm() {
  48.   // Reset values on form.
  49.   document.selectionForm.total.value='0 €';
  50.   document.selectionForm.calculatedTotal.value=0;
  51.   document.selectionForm.previouslySelectedRadioButton.value=0;
  52.   // Set all checkboxes and radio buttons on form to unchecked.
  53.   for (i=0; i < document.selectionForm.elements.length; i++) {
  54.     if (document.selectionForm.elements[i].type == 'checkbox' | document.selectionForm.elements[i].type == 'radio') {
  55.       document.selectionForm.elements[i].checked = false;
  56.     }
  57.   }
  58. }
  59. </script>
 


le body :

 
Code :
  1. <body onload="InitForm();" onreset="InitForm();">
  2. <p>
  3. <table><tr><td>
  4.   <form method="POST" name="selectionForm">
  5.     <b>Temps de présence sur place :</b><br>
  6.       <input type="radio" name="duree" value="420.00" onclick="this.form.total.value=calculateTotal(this);"> 10 heures <b>::: 420 € :::</b>
  7.     <br>
  8.       <input type="radio" name="duree" value="650.00" onclick="this.form.total.value=calculateTotal(this);"> 15 heures <b>::: 650 € :::</b>
  9.   <br>
  10.   <br> 
  11.     <b>options :</b><br>
  12.       <input type="checkbox" name="option1" value="55.00" onclick="this.form.total.value=calculateTotal(this);"> option 1 <b>::: 55 € :::</b>
  13.     <br>
  14.       <input type="checkbox" name="option2" value="90.00" onclick="this.form.total.value=calculateTotal(this);"> option 2 <b>::: 90 € :::</b>
  15.   <br><br>
  16.     <br>
  17.     <br>
  18.     <input type="hidden" name="calculatedTotal" value="0">
  19.     <input type="hidden" name="previouslySelectedRadioButton" value="0">
  20.     <strong>Le total est :</strong>
  21.     <input type="text" name="total" readonly onfocus="this.blur();"><strong> (indication non contractuelle)</strong>
  22.   </form>
  23. </td></tr></table>
  24. </p>
  25. <hr />
  26. </body>


Message édité par Profil supprimé le 25-04-2008 à 09:23:11
mood
Publicité
Posté le 25-04-2008 à 09:16:29  profilanswer
 

n°1724672
Profil sup​primé
Posté le 25-04-2008 à 18:34:43  answer
 

:bounce:

n°1729299
Profil sup​primé
Posté le 07-05-2008 à 08:03:36  answer
 

:bounce:


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  changer une valeur de radio à partir d'un texte - devis en ligne

 

Sujets relatifs
Utiliser des valeur de précision 0.000_005 dans un reseau de neurones[VBA] Comment trouver un valeur juste sup/inf à une cellule?
[ PHP ] str_replace avancé dans un $textebouton pour changer lien
Remplacer du texte dans un fichierFormulaire rempli a partir du lien
FCKEDITOR et saut de ligneExtraction d'un fichier texte vers une liste (pascal)
Saisie d'une date avec à partir d'un calendrier 
Plus de sujets relatifs à : changer une valeur de radio à partir d'un texte - devis en ligne


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