Accès aux champs d'un formulaire dynamique

Accès aux champs d'un formulaire dynamique - HTML/CSS - Programmation

Marsh Posté le 09-09-2004 à 17:11:36    

Bonsoir za tous,
 
Je viens de crééer un formulaire avec un nombre de champs variable en php. De manière à pouvoir récupérer le tout dans une même variable, j'ai nommé mes champs "meschamps[]".
 

Code :
  1. for($i=0;$i<5;$i++)
  2. echo '<input type"text" name="meschamps[]">';


 
Après avoir posté le formulaire, je récupère bien le tout dans $HTTP_POST_VARS[meschamps]
 
Mon problème : je voudrais pouvoir agir sur ces champs en javascript (par exemple en un clic, leur donner a tous la valeur 1) mais onclick="formulaire.meschamps.value=1" ou onclick="formulaire.meschamps[].value=1;" ou encore onclick="formulaire.meschamps[0].value=1" ne marchent pas...
 
Comment pourrais-je faire ?


Message édité par zezette le 09-09-2004 à 17:24:55

---------------
"Par moment j'me d'mande si chui pas con" G. de Suresnes
Reply

Marsh Posté le 09-09-2004 à 17:11:36   

Reply

Marsh Posté le 09-09-2004 à 18:11:22    

zezette a écrit :

Bonsoir za tous,
 
Je viens de crééer un formulaire avec un nombre de champs variable en php. De manière à pouvoir récupérer le tout dans une même variable, j'ai nommé mes champs "meschamps[]".
 

Code :
  1. for($i=0;$i<5;$i++)
  2. echo '<input type"text" name="meschamps[]">';


 
Après avoir posté le formulaire, je récupère bien le tout dans $HTTP_POST_VARS[meschamps]
 
Mon problème : je voudrais pouvoir agir sur ces champs en javascript (par exemple en un clic, leur donner a tous la valeur 1) mais onclick="formulaire.meschamps.value=1" ou onclick="formulaire.meschamps[].value=1;" ou encore onclick="formulaire.meschamps[0].value=1" ne marchent pas...
 
Comment pourrais-je faire ?


 
Tu dois faire un name différent et incrémental pour chaque input="text" et recréer en même temps dans la sortie html, le JS avec une boucle dont l'incrémentation sera comparable à celle de ta boucle en PHP.
 
Idem pour la page de traitement ensuite...


---------------
Expert en expertises
Reply

Marsh Posté le 09-09-2004 à 19:06:34    

Ouais, je craignais cette réponse alors j'ai trouver une autre solution :  
 

Code :
  1. <?php
  2. for($i=0;$i<5;$i++)
  3. echo '<input type"text" name="meschamps[]" id="meschamps'.$i.'">';
  4. ?>


 
et je génère de nombreuses lignes de javascript :
 

Code :
  1. <?php
  2. for($i=0;$i<5;$i++)
  3. echo "document.getElementById('meschamps$i').value = 1;\n";
  4. ?>


 
Merci qd même


Message édité par zezette le 09-09-2004 à 19:09:47

---------------
"Par moment j'me d'mande si chui pas con" G. de Suresnes
Reply

Marsh Posté le 09-09-2004 à 19:16:33    

zezette a écrit :

Ouais, je craignais cette réponse alors j'ai trouver une autre solution :  
 

Code :
  1. <?php
  2. for($i=0;$i<5;$i++)
  3. echo '<input type"text" name="meschamps[]" id="meschamps'.$i.'">';
  4. ?>


 
et je génère de nombreuses lignes de javascript :
 

Code :
  1. <?php
  2. for($i=0;$i<5;$i++)
  3. echo "document.getElementById('meschamps$i').value = 1;\n";
  4. ?>


 
Merci qd même


 
Oui, c'est en gros ma solution en plus lourd.


---------------
Expert en expertises
Reply

Marsh Posté le 09-09-2004 à 19:18:26    

:d


---------------
"Par moment j'me d'mande si chui pas con" G. de Suresnes
Reply

Sujets relatifs:

Leave a Replay

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