tiquisrd
Messages postés7Date d'inscriptionmercredi 9 janvier 2008StatutMembreDernière intervention15 septembre 2009
-
7 août 2009 à 21:15
tiquisrd
Messages postés7Date d'inscriptionmercredi 9 janvier 2008StatutMembreDernière intervention15 septembre 2009
-
9 août 2009 à 13:41
Bonjour,
essayant de faire un formulaire PHP dynamique, je suis confronté à un problème que je ne peux résoudre avec mes faibles connaissances...
Ce code qui permet d'ajouter une série de boutons radio fonctionne.
Cependant, si j'ajoute la première partie permettant de supprimer ce que contient le conteneur (un div avec id), et en particulier la ligne: partie0.removeChild(contenu0);, le reste ne s'affiche alors plus...
Quelqu'un voit-il où est l'erreur? Merci!!
Renan
Voici le code:
function ouvre1() {
//Effacement du champ
var partie0 = document.getElementById("contenu1");
var contenu0 = partie0.firstChild;
partie0.removeChild(contenu0);
//creation des variables
var l01 = document.createElement('table');
l01.setAttribute("width","100%");
var l02 = document.createElement('tr');
l02.setAttribute("valign","top");
var l03 = document.createElement('td');
l03.setAttribute("width","100");
var t04 = document.createTextNode("Vivez-vous avec:");
var l05 = document.createElement('td');
var l06 = document.createElement('table');
var l07 = document.createElement('tr');
var l08 = document.createElement('td');
var l09 = document.createElement('label');
var l10 = document.createElement('input');
l10.setAttribute("type","radio");
l10.setAttribute("name","enf19");
l10.setAttribute("value","1");
l10.setAttribute("id","enf19_0");
var t11 = document.createTextNode(" tous vos enfants");
//mise en forme
l09.appendChild(t11);
l09.insertBefore(l10,t11);
l08.appendChild(l09);
l07.appendChild(l08);
l06.appendChild(l07);
l05.appendChild(l06);
l03.appendChild(t04);
l02.appendChild(l05);
l02.insertBefore(l03,l05);
l01.appendChild(l02);
partie0.appendChild(l01);
}
Bul3
Messages postés4933Date d'inscriptionsamedi 1 juillet 2006StatutMembreDernière intervention 2 février 201516 8 août 2009 à 10:28
Bonjour,
__ l03.setAttribute("width","100");
"100px" "100%" ou ... mais pas "100" tout court
__ eviter les setAttribute
pour moi, ça alourdit
mais surtout, ça ne fonctionne pas de la
même manière avec tous les navigateurs
à l03.setAttribute("width","100");
je prèfère l03.width= "100px";
__ <table><tr><td>... ben non :
c'est <table> <tbody> <tr><td>...
__ un <table> dans un <table> dans un
vous ne vous compliquez pas un peu la vie ?
__ removeChild
donc le div contient au moins un élément,
sinon, ça ne va pas plaire
__ après, il faudrait contrôler
que les appendChild sont bien faits
dans le bon ordre, mais franchement avec les
noms que vous donnez aux variables, ce n'est
pas simple...
ch'tiot exemple ( simplifié, 1 seul table, 1 seul
bouton radio... vous adapterez et compléterez )
<script type ="text/javascript">
function ouvre1()
{ var elm_div=document.getElementById("contenu1");
if ( elm_div.firstChild )
{ elm_div.removeChild(elm_div.firstChild); }
var elm_table=document.createElement('table');
elm_table.width="100%";
var elm_tbody = document.createElement('tbody');
var elm_tr = document.createElement('tr');
elm_tr.valign="top";
var elm_td = document.createElement('td');
elm_td.width="100%";
var elm_radio = document.createElement('input');
elm_radio.type="radio";
elm_radio.name="enf19";
elm_radio.value="1";
elm_radio.id="enf19_0";
elm_td.appendChild(elm_radio);
elm_tr.appendChild(elm_td);
elm_tbody.appendChild(elm_tr);
elm_table.appendChild(elm_tbody);
elm_div.appendChild(elm_table);
}
ouvre1();
</script>
@karamel
Messages postés1838Date d'inscriptionvendredi 9 mai 2008StatutModérateurDernière intervention19 août 2023148 7 août 2009 à 22:29
bonjour
en generale pour supprimer une node on fait d'abort reference a la node a supprimer et on se positionne par rapport au node parent
document.getElementById('lanodeasupprimer').parentNode