Javascript et les formulaires

Javascript et les formulaires - HTML/CSS - Programmation

Marsh Posté le 12-06-2005 à 14:52:28    

Salut !
 
Voilà, j'essaie de modifier la valeur d'un champ texte en fonction de ce qui est selectionné dans une liste déroulante.
 
Voici ce que j'ai fais:
 

Code :
  1. <script language="JavaScript">
  2. function updateOpt(xOpt,champ)
  3. {
  4.  document.form.suppOpt[xOpt].value = champ;
  5. }
  6. </script>
  7. <form name='form' id='form'>
  8.      <select name="option[1]" size="1" onChange="javascript:updateOpt(1,this.value)">
  9.       <option value='0'>Rouge</option>
  10.       <option value='75'>Vert</option>
  11.       <option value='99'>Bleu</option>
  12.     </select>
  13.     <input type="text" name="suppOpt[1]" value="000" style="text-align:right;" size="10" >
  14.      <select name="option[2]" size="1" onChange="javascript:updateOpt(2,this.value)">
  15.       <option value='200'>Petit</option>
  16.       <option value='300'>Grand</option>
  17.     </select>
  18.     <input type="text" name="suppOpt[2]" value="000" style="text-align:right;" size="10" >
  19. </form>


 
Mais lorsque je fais ceci, j'ai une erreur javascript qui me dit que "document.form.suppOpt" n'a pas de propriétés..
 
ça fait pas mal de temps que je cherche sans trouver..
 
Vous avez une idée ??
 
Merci!


Message édité par huggy le 12-06-2005 à 14:54:34
Reply

Marsh Posté le 12-06-2005 à 14:52:28   

Reply

Marsh Posté le 12-06-2005 à 15:02:05    

Déjà utilise du JS et de l'HTML comme on le fait en 2005, avec des id et des document.getElementById

Reply

Marsh Posté le 12-06-2005 à 15:06:44    

et c'est la cause de mes soucis ?

Reply

Marsh Posté le 12-06-2005 à 15:10:45    

Oui, surtout quand on voit la gueule des names :D

Reply

Marsh Posté le 12-06-2005 à 15:11:20    

tu trouves pas que ce serait plus simple si tu expliquais ?

Reply

Marsh Posté le 12-06-2005 à 15:15:21    

Ben comme j'ai dit, il faut mettre des id sur les input type="text", et les récupérer via document.getElementById [:spamafote]
Parce que ça :

document.form.suppOpt[xOpt]


Ca ne peut pas fonctionner.
Il faut faire :

input type="text" id="suppOpt1" name="suppOpt[1]" value="000" style="text-align:right;" size="10" >


Puis :

document.getElementById("suppOpt" + x).value = champ;

Reply

Marsh Posté le 12-06-2005 à 15:18:06    

génial !
 
Merci bcp :)

Reply

Sujets relatifs:

Leave a Replay

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