Salut à tous !
Je suis en train de faire un code en javascript, qui sur une page html récupère le premier fils d'une balise <fieldset>, et en crée une copie à la fin de cette même balise...
Seulement, vu que ces entrées doivent etre récupérées dans un formulaire, j'aimerais pouvoir changer le nom des input ou select que je copie, sinon je ne peux récupérer les infos de la derniere copie que j'ai effectuée seulement..
Brefle, voila le code, si des âmes charitables sont prêtes à me donner un petit conseil... Merci d'avance
Les fonctions JS :
Code :
- echo '<script type="text/javascript">
- nbcases=1;
- function addDiplome(id)
- {
- var diplome = document.getElementById("fs"+id).cloneNode(true);
- document.getElementById("formation" ).appendChild(diplome);
- nbcases=nbcases+1;
- }
- function delDiplome()
- {
- if(nbcases!=1)
- {
- formation.removeChild(formation.lastChild);
- nbcases=nbcases-1;
- }
- }
- </script>';
|
Le formulaire à proprement parler :
Code :
- echo "<fieldset id='formation' style='height: auto;'><legend>Formation :</legend>";
- echo "<a href=\"javascript:addDiplome('0');\">[Ajouter un diplome]</a> - <a href=\"javascript:delDiplome();\">[Supprimer le dernier diplome]</a>";
- //Liste déroulante des formations, des diplôme et année du diplôme
- echo "<fieldset id='fs0'><label>Type de formation : </label>";
- echo "<select name='type_formation'>";
- echo "<option value='-1'>Inconnu/Autre";
- echo "<option value='0'>Initiale";
- echo "<option value='1'>Continue";
- echo "</select><br />";
- echo "<label>Diplôme :</label>";
- echo "<select name='diplome_lib'>";
- echo "<option>...</option>";
- echo "<option>...</option>";
- echo "<option>...</option>";
- echo "<option>...</option>";
- echo "<option>...</option>";
- echo "<option>...</option>";
- echo "<option>...</option>";
- echo "<option>...</option>";
- echo "<option>...</option>";
- echo "<option>...</option>";
- echo "</select><br />";
- echo "<label>Année d'obtention du diplôme :</label><input type='text' name='annee' size='4' maxlength='4' value='".$diplome_annee."'><br /></fieldset>";
- echo "</fieldset><br />";
|
PS : Les value des options sont manquantes, c'est normal...
Le fieldset à copier est donc 'fs0', et il est toujours rajouté à la fin de 'formation'
Il me faudrait donc le renommer en fs1, fs2, ainsi de suite.. et renommer les input et select contenus en type_formation+id par exemple.
J'ai essayé des getElementByName("type_formation" ).name="xxx"; mais ça ne passe pas... Idem avec .nodeName .. je n'arrive pas vraiment à trouver d'exemple ou de tutorial sur ça.
N'hésitez pas à me dire si c'est sérieusement crade ou pas comme code... C'est mon premier essai seulement
Edit 2 : La variable id ne sert pas à grand chose pour le moment, je l'ai gardée depuis quelque modifications où elle servait à quelque chose..
Message édité par Eldrik le 15-06-2006 à 09:41:21