boucle pour faire apparaitre de nouveau champ

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : boucle pour faire apparaitre de nouveau champ

Re: boucle pour faire apparaitre de nouveau champ

par swanny » 28 juil. 2011, 14:18

Merci beaucoup j'ai trouvé mon bonheur ;-)

Re: boucle pour faire apparaitre de nouveau champ

par devlop78 » 28 juin 2011, 04:06

Avec un framework tel que jQuery, c'est trivial. Je ne peux donc que t'inviter à investir 3 heures dessus. Tu en gagneras dix fois plus dès les premiers jours.

boucle pour faire apparaitre de nouveau champ

par swanny » 27 juin 2011, 14:32

Bonjour,

Voila j'ai écris un code dans lequel on choisit une plaque afin d'en extraire les informations. A chaque nouvelle plaque un rectangle de sélection apparait permettant d'en choisir une autre. On peut donc extraire les informations de plusieurs plaques en même temps. Mon code marche mais pour l'instant je me suis contenté de copier coller mes block. Or sachant qu'il y aura au final des dizaines de plaques, je ne vais pas le copier/coller à l'infini. Je voudrais donc le mettre dans une boucle et que les rectangles continuent d'apparaitre à chaque nouvelle sélection mais je n'arrive pas à savoir comment la coder. Pourriez-vous m'aider?

Voici mon code:

Code : Tout sélectionner

<head> <!-- Fonction javascript qui sert à faire apparaitre de nouveaux blocs à chaque nouvelle plaque choisit dans la liste déroulante afin de pouvoir en rajouter des plaques--> <script type="text/javascript"> function catsel(sel) { var opt=sel.getElementsByTagName("option" ); //compte toutes les balises OPTION rencontrées dans ce script for (var i=0; i<opt.length; i++)// pour i=0 jusqu'à i= le nombre de balises trouvées { var x=document.getElementById(opt[i].value);//x prends la valeur, l'id de la ième balise trouvée if (x) x.style.display="block"; //rend le bloc concerné visible } var cat = document.getElementById(sel.value); if (cat) cat.style.display="block"; } </script> </head> <form name="export_ct_from_plate_form" action="enr_export_ct_from_plate.php" method="post"> <table> <tr> <td class="no_soulign"><i><font size=4> choose plate in the list (Warning the plate must be into the bank!) : </font></i></td> <td> <select onclick="catsel(this)" name="zl_plate"><br> <!--appel de la fonction qui sert à faire apparaitre les block--> <option value="-Select type-" selected="selected" ><center> </center></option> <?php $sql="SELECT plate_name, plate_id FROM t_plate ORDER BY plate_name;"; //SQL permettant de récupérer les nom et identifiants des plaques choisis $rs=pg_exec($idc,$sql); while ($lg=pg_fetch_assoc($rs)) { print("<option value=\"".$lg["plate_id"]."\">".$lg["plate_name"]."</option>"); } ?> </select> </td> </tr> </table> <div id="-Select type-" style="display:none"> <!--Le block est invisible tant que l'on à pas cliquer sur la liste juste au-dessus--> <table cellspacing="1" cellpadding="10"> <tr> <td class="no_soulign"><i><font size=4> add a new plate : </font></i></td> <td> <select onclick="catsel(this)" name="zl_plate1"><!--appel de la fonction qui sert à faire apparaitre les block--> <option value="-Select type-2" selected="selected" > <?php $sql="SELECT plate_name, plate_id FROM t_plate ORDER BY plate_name;"; $rs=pg_exec($idc,$sql); while ($lg=pg_fetch_assoc($rs)) { print("<option value=\"".$lg["plate_id"]."\">".$lg["plate_name"]."</option>"); } ?> </select> </td> </tr> </table> </div>