[JAVASCRIPT] modifier un champ de formulaire[résolu]

modifier un champ de formulaire[résolu] [JAVASCRIPT] - HTML/CSS - Programmation

Marsh Posté le 19-04-2004 à 23:50:35    

bonjour, je suis débutant en javascript et j'aurais voulu faire un truc vraiment tout bete : on entre une valeur dans un champ de formulaire et en cliquant sur un bouton la valeur inscrite dans le champ est modifiée .
 
voici le bout de code que j'essaie de faire marcher en vain depuis des heures :
 
la fonction qui calcul la nouvelle valeur a afficher :

Code :
  1. <script language="javascript">
  2. function affichage(select)
  3. {
  4. if( select.value == 0 ){
  5.   document.write("<input type=\"text\" name=\"prix_vente\" maxlength=\"255\" size=\"30\">" );
  6. }
  7. else{
  8. var ttc=select.value ;
  9. var ht= ttc*(1-(19.6/100) );
  10. document.write("<input type=\"text\" name=\"prix_vente\" maxlength=\"255\" size=\"40\"> value=\""+ht+"\" " ) ;
  11. }
  12. }
  13. </script>


 
l'appel de la fonction :

Code :
  1. <tr>
  2. <td width="160"><b>Prix de vente HT</b></td>
  3. <td width="300">
  4. <script>affichage();</script>
  5. <input type="button" value="Hors taxe" onClick='affichage(this.form.prix_vente)'>
  6. </td>
  7. </tr>


 
je galère pas mal avec le javascript étant habitué au php
 
merci d'avance pour votre aide


Message édité par BaDaBoOm le 20-04-2004 à 15:01:53
Reply

Marsh Posté le 19-04-2004 à 23:50:35   

Reply

Marsh Posté le 19-04-2004 à 23:59:00    

ca serait pas plutot un truc du genre que tu devrais faire?
 

Code :
  1. <script language="javascript">
  2.   function affichage(select) {
  3.     select.value *= (1-(19.6/100));
  4.   }
  5. </script>


 

Code :
  1. <tr>
  2.   <td width="160"><b>Prix de vente HT</b></td>
  3.   <td width="300">
  4.     <input type="text" name="prix_vente" maxlength="255" size="30" />
  5.     <input type="button" value="Hors taxe" onClick='affichage(this.form.prix_vente)' />
  6.   </td>
  7. </tr>


Message édité par burgergold le 20-04-2004 à 00:00:04

---------------
http://www.boincstats.com/signature/user_664861.gif
Reply

Marsh Posté le 20-04-2004 à 00:04:26    

merci ! ca marche mais ie me met une erreur au lancement de la page : value a la valeur null ou n'est pas un objet  
 

Reply

Marsh Posté le 20-04-2004 à 04:22:10    

BaDaBoOm a écrit :

merci ! ca marche mais ie me met une erreur au lancement de la page : value a la valeur null ou n'est pas un objet  
 
 


 
jai jamais fait beaucoup de javascript jdois dire, sque jtais nettoyé c'était simplement par instinct mais ca doit être tout prêt comme tu dis
 
faut pas réécrite le html, faut simplement changer la value, et ca peut se faire en 1 seul ligne sans aucune variable


---------------
http://www.boincstats.com/signature/user_664861.gif
Reply

Marsh Posté le 20-04-2004 à 12:21:59    

ok je commence a comprendre un peu le fonctionnement de javascript.
 
personne pour régler ce dernier problème ?

Reply

Marsh Posté le 20-04-2004 à 12:29:00    

Ya sans doutes plus simple....
 
<head>
<script language="javascript">
function setValue(a) {
   document.principal.champ.value=a;
}
</script>
</head>
<body>
...
<form name="principal">
<input name="champ">
</form>
...
<a href="javascript:setValue(10)">10</a><a href="javascript:setValue(5)">5</a>
 
 
par exemple. Utiliser 1 a fonctionne sur tous les navigateurs (tu peux mettre 1 image dans le a si tu veux ameliorer le graphisme).
J'ai po teste la syntaxe exacte, mais ca doit etre ca a peu pres.

Reply

Marsh Posté le 20-04-2004 à 13:51:47    

il me met erreur objet attendu

Reply

Marsh Posté le 20-04-2004 à 14:14:32    

bon j'ai un peu modifié le code :
 
dans l'appel j'ai mis :
 <input type="button" value="H.T" onClick='affichage(this.form.prix_vente.value)'>  
 
 
et dans la script j'ai mis :
<script language="javascript">  
    function affichage(ttc) {  
           
         ht= ttc*(1-(19.6/100));  
     
        document.toto.prix_vente.value = ht;
    }  
  </script>  
 
 
ca marche bien  mais au lancement de la page il me met dans le champ prix_vente le mot NaN  (Not A Number) . On dirait donc qu'il execute la fonction meme lorsque l'on a pas cliqué sur le bouton est bien cela ?

Reply

Marsh Posté le 20-04-2004 à 14:30:49    

Ton <script> est bien placé dans le <head> ?

Reply

Marsh Posté le 20-04-2004 à 14:48:50    

Aaahh  nikel ca marche enfin le script etait entre head et body
 
merci a tous !
 
a+

Reply

Sujets relatifs:

Leave a Replay

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