Bonjour je ne connais pas beaucoup de choses en javascript.
J'ai un formulaire et � un moment j'ai un petit + qui d�roule des champs input texte suppl�mentaires.
J'ai commenc� � faire �a avec innerHtml mais j'ai vu que �a ne marchait pas sur firefox (que sur IE) et on m'a dit :"innerHtml c'est mal!!".
Comme je suis quelqu'un de pas contrariante,j'ai voulu essayer avec le DOM que je d�couvre.
R�sultat : rien sous IE, �a marche sous Firefox. MAIS, dans la console d'erreur de Firefox �a me dit : "ajoutForm is not defined". Ce qui expliquerait que �a ne marche pas sous IE. Firefox a une erreur mais ex�cute quand m�me le script.
Pour commencer je n'ai cr�� avec le DOM que la premi�re zone input pour voir si j'arrivais d�j� � faire �a. J'ai suivi la m�thode d'1 des FAQ de ce site que je trouvais bien expliqu�e.
Je vous mets la partie de ma page o� doit s'ins�rer la partie du formulaire cr��e avec le DOM :
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
29 function ajoutZones() { // recherche du noeud parent var divParent = document.getElementById('ajoutForm'); // création des nouveaux noeuds var nveauField = document.createElement('fieldset'); var nveauLegend1 = document.createElement('legend'); var nveauParagraphe1 = document.createElement("p"); var nveauLabel1 = document.createElement("label"); var nveauInput1 = document.createElement("input"); // paramétrage des nouveaux noeuds nveauLegend1.appendChild(document.createTextNode("INFOS :")); nveauLabel1.appendChild(document.createTextNode("Nom ou pseudo :")); nveauParagraphe1.appendChild(nveauLabel1); nveauLabel1.for = 'nomArtiste'; nveauParagraphe1.appendChild(nveauInput1); nveauInput1.type = 'text'; nveauInput1.name = 'nomArtiste'; nveauInput1.id = 'nomArtiste'; // raccord des noeuds nveauField.appendChild(nveauLegend1); nveauField.appendChild(nveauParagraphe1); divParent.appendChild(nveauField); }
Il y a donc ce div ajoutForm que j'ai cr�� vide pour que le nouvel input s'ins�re l�. En fait je me dis que l'erreur vient peut-�tre de l� mais je n'arrive pas � trouver pourquoi il me dit que ajoutForm (nom de mon id) n'est pas d�fini.
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 <form method="post" action="controleurProgramme.php"> <?php include 'listeArtistes.php'; ?> <p><input type="radio" name="porteur" value="oui" id="oui"/><label for="oui">Artiste porteur :</label></p> </fieldset> <p><input type="hidden" name="idProg" value="<?php echo $id ?>"/></p> <p> <label>Autre artiste :</label> <input type="button" name="ajout" value="+" onclick="ajoutZones()" /> </p> <div id="ajoutForm"> </div> <p> <input type="submit" name="valider" value="Valider"/><input type="reset" value="Réinitialiser"/> </p> </form>
PS : Info suppl�mentaire : message d'IE : identificateur attendu
Partager