Generer des champs texte a partir d'un <select>

Résolu
morgan_18 Messages postés 8 Date d'inscription mardi 29 mai 2007 Statut Membre Dernière intervention 7 février 2008 - 14 janv. 2008 à 16:23
morgan_18 Messages postés 8 Date d'inscription mardi 29 mai 2007 Statut Membre Dernière intervention 7 février 2008 - 14 janv. 2008 à 18:31
Bonjour  à tous,

Je suis en train de réaliser un formulaire d'enquete et j'ai une liste déroulante avec un certain nombre de chiffre 1,2,3,4,5 etc.. et je cherche a génerer quand je selectionne une valeur un nombre de champs textes correspondant au chiffres de la liste déroulante.

Cela a pour but de generer autant de champ que la question a besion de reponse...

Si quelqu'un a une idée je suis prenneur car je bloque...

Merci a tous par avance

Morgan

3 réponses

PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
14 janv. 2008 à 17:50
Bonjour,
document.write efface éffectivement le contenu du document donc mauvaise méthode
un méthode consisterait à mettre tes INPUTs dans un DIV

1/ création d'un DIV avec un ID par exemple D_INPUT

DIV vide

2/ écriture dans celui ci à l'aide de la propriété innerHTML
var Obj = document.getElementById( 'D_INPUT');
Obj.innerHTML = "Le nouveau texte...."

donc dans ton cas la fonction devirndrait
function affiche_text_reponse(form) {
  var Obj  = document.getElementById( 'D_INPUT');



// Recup du DIV






  var Html = ""; // le nouveau contenu
  var nb_rep = eval(form.nb_reponse.value);
  for (i=1; i<=nb_rep; i++) {
    Html += 'Reponse ' + i + ': ';
  }
Obj.innerHTML = Html; // ecriture dans le DIV
}



;0)
3
morgan_18 Messages postés 8 Date d'inscription mardi 29 mai 2007 Statut Membre Dernière intervention 7 février 2008
14 janv. 2008 à 16:53
Voici mon code source ca avance... j'arrive a génere des champs mais il recharge ma page et n'affiche que les champs et supprime donc le reste du code de plus au niveau de la mise en page il ne me saute pas de ligne.

<script language="Javascript" type="text/javascript">
      function affiche_text_reponse(form) {
                 var nb_rep = eval(form.nb_reponse.value);
                 //alert("nombre reponse " +nb_rep);
                 for (i=1; i<=nb_rep; i++) {
                         //alert(i);
                         document.writeln('Reponse ' + i + ': ');
                   }
      }

</script>

<select name="nb_reponse" onchange="affiche_text_reponse(this.form)" onclick="affiche_text_reponse(this.form)">
             <option value="1"> 1 </option>
             <option value="2"> 2 </option>
             <option value="3"> 3 </option>
             <option value="4"> 4 </option>
</select>

Des idées??

Morgan
0
morgan_18 Messages postés 8 Date d'inscription mardi 29 mai 2007 Statut Membre Dernière intervention 7 février 2008
14 janv. 2008 à 18:31
Merci c'est exactement ca merci encore....

Morgan
0
Rejoignez-nous