Alors voilà, j'ai un form, dedans une petite liste déroulante, et en fonction du chiffre choisi, j'aimerais afficher des champs supplémentaires (oui ça veut dire que si le javascript est désactivé mon form devient nul mais bon, ça c'est un autre débat)...
Je vous montre le code, et ensuite je vous pose mon problème:
PHP
<html>
<head>
<title>
didju de javascript
</title>
</head>
<body>
<form id="monForm" name="monForm" action="form_validation" method="post">
<fieldset>
<legend>Participants</legend>
<p>
<label for="form_nombre">* Nombre de personnes : </label>
<select id="form_nombre" name="nombre_personne" onChange="java script:submitChange(this);">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
</select>
</p>
<p>
<table border="0">
<tr><td>Nom :</td><td>Prénom :</td></tr>
<script type="text/javascript">
function submitChange ( liste ){
//Recup de la valeur courante :
var val = liste.options[liste.selectedIndex].value;
//alert(val);
var ligne = new Array();
//Le nombre de fois:
for (var i=0; i<val; i++)
{
// Ce qu'on veut afficher:
ligne[i]= '<tr><td><input type="text" name="firstname" /></td><td><input type="text" name="lastname" /></td></tr>';
document.write(ligne[i]);
}
}
</script>
</table>
</p>
</fieldset>
</form>
</body>
</html>
Je joins également le fichier.
Mon problème c'est que le document.write heuuu... casse tout :s au lieu de s'écrire proprement l'un à la suite de l'autre.
Je sais pas trop comment expliquer autrement... testez le sinon
ps: j'ai testé aussi avec un div, une ID et un innerHTML mais le prob c'est qu'il "remplace" au lieu d'ajouter :s