Créer un formulaire dynamique
bonjour,
j'avais besoin d'un formulaire dynamique où l'on pouvait ajouter ou suppirmer une zone de saisie en cliquant sur le bouton adéquat.
Etant très mauvais en javascript, j'ai adapté un code faisant à peu près la même chose à mon site.
Je me rend compte maintenant que je doit ajouter un autre element dans se formulaire, lui aussi interactif. J'ai essayé d'écrire le code mais je n'y arrive pas. Je demande donc votre aide.
tout d'abord voici le code (xhtml et js) que j'utilise pour l'instant.
xhtml
<p id="lesLiens">
Type de lien: <select name="typeDeLien_1">
<option value="normal">normal</option>
<option value="externe">lien vers un autre site</option>
<option value="index">lien vers la page d'accueil</option>
</select>
<label> nom :<input type="text" name="nom_1" /></label>
<input type="button" value="ajouter une zone de saisie" onClick="javascript:nouveau()" />
<br />
</p>
javascript: le code est assez gros donc je le mets à disposition sur cette page: http://www.twallet.be/test/code
ce code fonctionne et pour que vous puissiez y voir plus clair voici une page ou se trouve ce petit formulaire: http://www.twallet.be/test/test
J'aimerais que lorsque l'on selectionne sur la deuxieme option de la liste deroulante, une nouvelle zone de saisie apparaisse entre la liste deroulante et la premiere zone de saisie.
ce qui donnerais ce code:
<p id="lesLiens">
Type de lien: <select name="typeDeLien_1">
<option value="normal">normal</option>
<option value="externe">lien vers un autre site</option>
<option value="index">lien vers la page d'accueil</option>
</select>
<label> url :<input type="text" name="url_1" /></label>
<label> nom :<input type="text" name="nom_1" /></label>
<input type="button" value="ajouter une zone de saisie" onClick="javascript:nouveau()" />
<br />
</p>
idéalement, losrque l'on enleverais le focus à la 2eme option , cette zone de saisie disparaitrais, mais ceci est facultatif.
le probleme est qu'il faut que cela fonctionne quelque soit le nombre de ligne qu'il y ait.
je pense avoir tout dit.
Je sais que je demande beaucoup mais si quelqu'un acceptait d'ecrire ce code je lui en serais très reconnaissant.
merci d'avance.
conseil: si vous décider de vous attaquer à ce probleme, vous aurez sans doute besoin de travailler sur le code que j'ai donné plus haut (a moin que vous decidiez de tout reécrire mais je ne pense pas que ce soit utile). pour faciliter la lecture de ce code je vous conseil d'en faire un copier coller dans votre editeur de texte preferé.