Bonjour à tous,
Je réalise un site internet dans lequel j'ai un formulaire pour créer un sondage.
Tout ça est fait en PHP. Mais j'ai du utiliser du javascript pour permettre à l'utilisateur d'ajouter des champs textes à l'aide d'un bouton. Cette fonction js fonctionne bien pour le formulaire ajouter.
Mais elle bloque pour le formulaire modifier.
Voici le script de mon formulaire
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 $chaine='<form name="form_sondage" action="form_sondage.php?id='.$idSondage.'" method="post">'; $chaine.='<div id="modif_1">'; $chaine.='<div align="left">Question :'; $chaine.='<input name="question" type="text" value="'.$question.'"/>'; $chaine.='</div>'; $chaine.='<div align="left"> Date limite :'; $chaine.='<input name="dateLimite" type="text" value="'.$dateLimite.'"/>'; $chaine.='</div>'; $i=1; while($ligne=mysql_fetch_array($executeR)) { $chaine.='<div align="left">'; $chaine.=' Réponse'.$i.' :'; $chaine.='<input name="reponse_'.$i.'" type="text" value="'.$ligne['REPONSE'].'"/>'; $chaine.='<input name="id_'.$i.'" type="hidden" value="'.$ligne['IDREPONSES'].'"/>'; $chaine.='</div>'; $i++; } $chaine.='</div>'; $chaine.='<div align="left">'; $chaine.='<span id="input_2">'; $chaine.='<input name="button" type="button" class="input2" onClick="javascript:modif_champ('.$i.')" value="Insérer un autre champ">'; $chaine.='</span></div>'; $chaine.='<div align="left"><input type="submit" name="submit" value="enregistrer" />'; $chaine.='</div>'; $chaine.='</form>';
Voici le script js
Après plusieurs test je me suis aperçu, que le problème venait de l'appelle à ma fonction. Pour le formulaire modifié, j'ai mis une variable en paramètre au lieu de le mettre en dur. Et c'est cette variable qui bloque.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 function modif_champ(i) { alert(i); var i2 = i + 1; alert(i2); document.getElementById('input_'+i).innerHTML = '<div id="modif_'+i+'">Reponse '+i+' : <input type="text" name="reponse_'+i+'"></div></span>'; document.getElementById('input_'+i).innerHTML += (i <= 10000) ? '<span id="input_'+i2+'"><input class="input2" type="button" onClick="javascript:modif_champ('+i2+')" value="Insérer un autre champ"></span>' : ''; }
Merci d'avance pour votre aide.
Partager