Calcul

Résolu/Fermé
sarah21091999 Messages postés 50 Date d'inscription jeudi 17 mai 2018 Statut Membre Dernière intervention 24 mai 2018 - Modifié le 24 mai 2018 à 14:40
sarah21091999 Messages postés 50 Date d'inscription jeudi 17 mai 2018 Statut Membre Dernière intervention 24 mai 2018 - 24 mai 2018 à 21:09
Bonjour, j'ai fait ceci pour le calcul (tout en bas), je voudrai que lorsque je tape "JT" dans "code agent", s'affiche 10% du prix final dans la case "valeur commission". mon calcul fonctionne lorsque j'enleve "la restriction" mais pas quand je la met peut etre que je n'ai pas su la faire.. vous pourriez m'aider s'il vous plait ?


<!DOCTYPE html>
<html>
 <head>
  <meta charset="utf-8" />
  <title>FORMULAIRE</title>
  <style>
   h1{text-align:center;}
  </style>
 </head>
   <body text="#29088A">
     <form method="post" action="inscriptionvalidee.php">
      <div style="text-align:center">
        <p>
          <img src="nevers.png" alt="photo nevers" width="500" height="650" hspace="16" align="left"> 
        </p>
  <font size="6">
        <U><h1>FORMULAIRE</h1></U>
  </font>
  <font size="5">
  <p align="center">
              <label>Code Agent</label> : 
              <input type="text" name="agent" id="code" value="" /> 
  </p>
        <p align="center">
            <label>Nom Client</label> : 
            <input type="text"  name="nom" value="" require/>
            <p align="center">
              <label>Prénom Client</label> : 
              <input type="text" name="prenom" value="" /> 
            </p>
            <p align="center">
              <label>Age Client</label> : 
              <input type=radio name="age12" id='agem12' onclick="verifAge(this.value);" value='-12'> -12 ans 
              <input type=radio name="age12" id='agep12' onclick="verifAge(this.value);" value='+12'> +12 ans 
            </p>
          </font>
        </p>
        <br>
        <span style="text-align:center" id="zone_prix" >
  <font size ="5">
          <label>Prix</label> : 
          <input type="text" name="prix" onkeyup="verifPrix(this);" id="prix" value='' > € <span style='background-color:#ffff66;' id='reduc' style='display:none' >-50%</span>
    </br>
    <br>
          <label>Prix Final </label> 
          <input type="text" name="prixfinal" readonly id="prixfinal" value='' /> €
        </span>
  </font>
  </br>
        
       </form>
        <p align="center">
  <br>
          <input type="submit" value="Inscription" style="height:35px; background-color:#29088A; color:white"  ></a>
        </p>
  <font size="5">
  <p align="center">
              <label>Valeur Commission</label> : 
              <input type="text" name="commission" id="vcommission" value="" /> 
  </p>
  </font>
      </div>
    <script type="text/javascript">
      /**
      // Affiche la zone réduc en fonction de l'age selectionné


*/     
 function verifAge(age){        
var reduc = document.getElementById('reduc');       
 var prix = document.getElementById('prix');        
reduc.style.display =  age == '-12' ? 'inline' : 'none';         
  verifPrix(prix);      
}           
 /*      // Fait le calcul du prix en fonction de l'age coché      
*/     
 function verifPrix(elm){        
var prix = elm;        
var prixval = elm.value;       
 var agem12 = document.getElementById('agem12');        
var agep12 = document.getElementById('agep12');       
 var prixfinal = document.getElementById('prixfinal');       
 var age = agem12.checked ? '-12' : (agep12.checked ? '+12' : '');       
 if(age == '-12'){          
 console.log('ancien prix : ' + prixval);          
 var prixreduc = parseFloat(prixval) * 0.5;           
console.log('Nouveau prix : ' + prixreduc);          
 prixfinal.value = prixreduc;             
}else if(age == '+12'){          
 prixfinal.value = prixval;       
 }else{           
//si aucune case n'est cochée...         
  prixfinal.value = prixval;            
 }     
 }   
function calcul(){  
 var code = elm;   
var codeval = elm.value;    
 if(codeval == 'JT'){    
 vcommission.value = prixfinal.value * 0.10;    
 }else{     
vcommission.value = 0;   
  }    
 }    
</script>  
</body>
 </html>



EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI

Merci d'y penser dans tes prochains messages.
A voir également:

2 réponses

jordane45 Messages postés 38320 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 30 novembre 2024 4 707
24 mai 2018 à 14:08
Bonjour,

function calcul(){  
 var code = elm;   
var codeval = elm.value;    
 if(codeval == 'JT'){    
 vcommission.value = prixfinal.value * 0.10;    
 }else{     
vcommission.value = 0;   
  }    
 }


Que vaut elm ?
Que vaut vcommission ?
Que vaut prixfinal ?

Ces variables ne sont pas définies dans ton code... normal que ça ne fonctionne pas !

par exemple, pour prixfinal ... il faudrait que tu ajoutes (au début de ta fonction ) comme dans la fonction précédente :
var prixfinal = document.getElementById('prixfinal');


Je te laisse faire pour les autres.
Tu as oublié pas mal de choses..... par exemple.... à quel endroit fais tu appel à la fonction calcul() ?
Elle n'est jamais appelée visiblement....

1
sarah21091999 Messages postés 50 Date d'inscription jeudi 17 mai 2018 Statut Membre Dernière intervention 24 mai 2018
24 mai 2018 à 14:32
d'accord je vais essayer ..

mais je n'ai pas compris pour fonction calcul () (c'est ce que j'ai trouve sur internet ...)
0
jordane45 Messages postés 38320 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 30 novembre 2024 4 707
24 mai 2018 à 14:44
Prenons un exemple simple .....
Tu veux de la lumière....
Tu achètes donc une ampoule. (ça c'est toi qui trouve le script sur internet...... )
Ton ampoule tu la visse dans ta lampe ( c'est quand tu as collé le script dans ta page html )
Maintenant... l'ampoule ne s'éclaire pas.... ben oui... faut appuyer sur interrupteur.... ( et là... toi tu n'as aucun "interrupteur qui dit à ta lampe de s'allumer...... )
Regarde comment est appelé ton autre script......
0
sarah21091999 Messages postés 50 Date d'inscription jeudi 17 mai 2018 Statut Membre Dernière intervention 24 mai 2018
24 mai 2018 à 14:44
<!DOCTYPE html>
<html>
 <head>
  <meta charset="utf-8" />
  <title>FORMULAIRE</title>
  <style>
   h1{text-align:center;}
  </style>
 </head>
   <body text="#29088A">
     <form method="post" action="inscriptionvalidee.php">
      <div style="text-align:center">
        <p>
          <img src="nevers.png" alt="photo nevers" width="500" height="650" hspace="16" align="left"> 
        </p>
		<font size="6">
        <U><h1>FORMULAIRE</h1></U>
		</font>
		<font size="5">
		<p align="center">
              <label>Code Agent</label> : 
              <input type="text" name="agent" id="code" value="" /> 
		</p>
        <p align="center">
            <label>Nom Client</label> : 
            <input type="text"  name="nom" value="" require/>
            <p align="center">
              <label>Prénom Client</label> : 
              <input type="text" name="prenom" value="" /> 
            </p>
            <p align="center">
              <label>Age Client</label> : 
              <input type=radio name="age12" id='agem12' onclick="verifAge(this.value);" value='-12'> -12 ans 
              <input type=radio name="age12" id='agep12' onclick="verifAge(this.value);" value='+12'> +12 ans 
            </p>
          </font>
        </p>
		<font size="5">
		<p align="center">
              <label>Code Voyage</label> : 
              <input type="text" name="voy" id="voyage" value="" /> 
		</p>
        <br>
        <span style="text-align:center" id="zone_prix" >
		<font size ="5">
          <label>Prix</label> : 
          <input type="text" name="prix" onkeyup="verifPrix(this);" id="prix" value='' > € <span style='background-color:#ffff66;' id='reduc' style='display:none' >-50%</span>
		  </br>
		  <br>
          <label>Prix Final </label> 
          <input type="text" name="prixfinal" readonly id="prixfinal" value='' /> €
        </span>
		</font>
		</br>
        
       </form>
        <p align="center">
		<br>
          <input type="submit" value="Inscription" style="height:35px; background-color:#29088A; color:white"  ></a>
        </p>
		<font size="5">
		<p align="center">
              <label>Valeur Commission</label> : 
              <input type="text" name="commission" id="vcommission" value="" /> 
		</p>
		</font>
      </div>
    <script type="text/javascript">
      /**
      // Affiche la zone réduc en fonction de l'age selectionné
      */
      function verifAge(age){
        var reduc = document.getElementById('reduc');
        var prix = document.getElementById('prix');
        reduc.style.display =  age == '-12' ? 'inline' : 'none';   
        verifPrix(prix);
      }
      
      /*
      // Fait le calcul du prix en fonction de l'age coché
      */
      function verifPrix(elm){
        var prix = elm;
        var prixval = elm.value;
        var agem12 = document.getElementById('agem12');
        var agep12 = document.getElementById('agep12');
        var prixfinal = document.getElementById('prixfinal');
        var age = agem12.checked ? '-12' : (agep12.checked ? '+12' : '');
        if(age == '-12'){
           console.log('ancien prix : ' + prixval);
           var prixreduc = parseFloat(prixval) * 0.5;
           console.log('Nouveau prix : ' + prixreduc);
           prixfinal.value = prixreduc;
		   
        }else if(age == '+12'){
           prixfinal.value = prixval;
        }else{
           //si aucune case n'est cochée...
           prixfinal.value = prixval;
		   
        }
      }
	  function calcul(){
	  var code = elm;
	  var codeval = elm.value;
	  var vcommission = document.getElementById('vcommission');
		   if(codeval == 'JT'){
		   vcommission.value = prixfinal.value * 0.10;
		   }else{
		   vcommission.value = 0;
		   }
		   }
    </script>
  </body> 
</html>
0
sarah21091999 Messages postés 50 Date d'inscription jeudi 17 mai 2018 Statut Membre Dernière intervention 24 mai 2018
24 mai 2018 à 14:45
comme ca ?
0
jordane45 Messages postés 38320 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 30 novembre 2024 4 707 > sarah21091999 Messages postés 50 Date d'inscription jeudi 17 mai 2018 Statut Membre Dernière intervention 24 mai 2018
24 mai 2018 à 14:48
Non
function calcul(){
  var code = elm; // D'où vient elm ?
  var codeval = elm.value; // non car elm n'est pas défini !
  var vcommission = document.getElementById('vcommission'); //ok
  if(codeval == 'JT'){
     vcommission.value = prixfinal.value * 0.10; // d'où vient prixfinal ?
  }else{
     vcommission.value = 0;
  }
}
0
jordane45 Messages postés 38320 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 30 novembre 2024 4 707
Modifié le 24 mai 2018 à 16:27
Tu souhaites
lorsque je tape "JT" dans "code agent"

que ça fasse appel à ta fonction calcul()

Donc... sur ton champ "code agent"
<input type="text" name="agent" id="code" value="" />

il faut détecter que tu écris quelquechose pour déclencher le script

Tu peux, par exemple, utiliser un onkeyup
https://www.w3schools.com/jsref/event_onkeyup.asp



0