Bonjour, tout d'abord merci à NoSmoking pour la réponse qui marche nickel! Néanmoins, j'ai un petit souci quand je veux faire apparaitre mon champ "Paramètres". En fait quand je choisis "Liste déroulante" ou "Bouton radio" dans mon select, j'ai un code JS qui m'affiche un nouveau champ (Paramètres) et la personne y rentre ses paramètres. Ça, ça fonctionne très bien sauf quand je rajoute une nouvelle zone pour la création des nouveaux champs.
En fait mon champ "Paramètres" n'arrive pas à se "cloner" et si j'ai 3 select, les 3 iront pointer sur le même champ.
C'est plutôt problématique, surtout que j'ai presque fini.
Est ce que quelqu'un pourrait savoir d'où ça provient?
Sachant que Firebug me donne ceci comme erreur:
TypeError: document.getElementById(...) is null
Et je fais aussi parvenir mon code avec la modif de création de champ
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 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94
| <!DOCTYPE html>
<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<title>sans titre 1</title>
<script language="javascript">
function create_champ(){
var item = document.getElementsByTagName("div")[1];
var clone = item.cloneNode(true);
document.body.appendChild(clone);
}
function supprime_champ(){
var cpt = parseInt(document.getElementById('nombre').value);
cpt--;
var parent = document.getElementById('zone_dynamique');
var NodeListe = parent.getElementsByTagName("div");
if( NodeListe.length >= 2 ){
var Enfant=NodeListe[NodeListe.length-1]
parent.removeChild(Enfant);
document.getElementById('nombre').value = cpt;
}
}
-->
</script>
<script>
function choixChange(){
var paragraphe = document.getElementById("paragrapheSupplementaire");
paragraphe.innerHTML=document.getElementById("choix").value;
if (document.getElementById("choix").value == "liste_1" || document.getElementById("choix").value == "bouton_1"){
paragraphe.innerHTML+="<label>Rentrez les informations:</label>"
+'<input name=sous_choix type="text">';
/*+'<select name="orientation" id="orientation">'
+'<option value="LP">LP</option>'
+'<option value="master">master</option>'
+"<option value=\"inge\">Ecole d'ingé</option>"
+'<option value="boulot">Boulot</option>'
+'<option value="autre">Autre</option>'
+'</select>';*/
}
}
choixChange();
</script>
</head>
<body>
<fieldset name="test">
<legend>Test</legend>
<form id="idTest" name="test23" method="post" action="test_traitement23.php">
<!--Nombre de champs : <input name="nombre" id="nombre" type="text" value="1" size="3">-->
<div id="zone_dynamique">
<div id="test" align="left"> Nom du champ:
<!--<input name="nom_test" type="text"/>-->
<textarea name="nom_test" id="id_nom" ></textarea>
Choix : <select name="choix_test" id="choix" onchange='choixChange();'>
<option value="test_1" selected="selected">Choisir un type</option>
<option value="champ_texte_1">Champ de texte</option>
<option value="zone_email_1">Zone d'adresse e-mail</option>
<option value="liste_1">Liste déroulante</option>
<option value="bouton_1">Boutons radio</option>
<option value="case_1">Cases à cocher</option>
<option value="zone_texte_1">Zone de texte</option>
</select>
</div>
<div id="paragrapheSupplementaire">
</div>
<input type="button" onClick="javascript:create_champ()" value="Insérer un autre champ"/>
<input type="submit" value="envoyer"/>
</div>
</form>
</fieldset>
</body>
</html> |
Merci d'avance! 
Cordialement.
Partager