Removechild

marjal_ -  
Alkaaran Messages postés 291 Statut Membre -
Bonjour,
Voilà, j'aimerais afficher sur une page un formulaire différent selon que l'on clique sur un menu ou sur un autre. Pour cela, j'appelle différente fonctions javascript, mon problème vient pour l'effacement des données...

Le fait que je fasse un removeChild(a) m'empêche de recréer un autre input à l'intérieur..
En fait je voudrait enlever l'input existant mais garder le contenant pour pouvoir mettre un autre input à la place...

Comment puis-je faire?

Voilà un extratit de code :

<script>
function topometrie(){

OperationInput = document.getElementById("Opera");
OperationInput.setAttribute("value",'topo');

nInputNom = document.createElement("input");
nInputNom.setAttribute("type","text");
contenant = document.getElementById("champ1");
champ1.appendChild(nInputNom);
nInputNom.setAttribute("name","Nom_Point");
nInputNom.setAttribute("id","Nom_Point");
nInputNom.setAttribute("value","101");
}

function efface(){

a = document.getElementById("Nom_Point");
contenant = document.getElementById("champ1");
champ1.removeChild(a);

b = document.getElementById("Numero_Bloc");
contenant = document.getElementById("champ1");
champ1.removeChild(b);
}

function architecture(){
OperationInput = document.getElementById("Opera");
OperationInput.setAttribute("value",'archi');

nInputNom = document.createElement("input");
nInputNom.setAttribute("type","text");
contenant = document.getElementById("champ1");
champ1.appendChild(nInputNom);
nInputNom.setAttribute("name","Numero_Bloc");
nInputNom.setAttribute("id","Numero_Bloc");
nInputNom.setAttribute("value","H");
}
</script>
<div id="en-tete">
<ul align=left>
<li><a href="#" onclick="javascript:efface();topometrie()"><span>TopomÈtrie</span></a></li>
<li><a href="#" onclick="javascript:efface();architecture()"><span>Architecture</span></a></li>
<li><a href="#" onclick="javascript:"><span>ArchÈologie</span></a></li>
</ul>
</div>

<form action=index.php name=recherche method=post>
<input type=hidden name=Opera id=Opera></input>
<tr>
<td height=100px></td>
</tr>
<tr>
<td>
<p id=champ1></p>
</td>
</tr>
</form>

Merci d'avance pour votre aide!!

1 réponse

Alkaaran Messages postés 291 Statut Membre 37
 
Bijour,

Voila qui pourrai t'aider...
Ce qu'il faut savoir pour les forulaires en JS :
- Nomme et utilise les nom de ton/tes formulaire(s) pour accèder à tes champs
- Pour accèder à tes champs c'est de la forme : document.form1.champ1.value

Pour que je t'aide plus, il va falloir me dire ou est ce que ca bloque exactement (dans quelles fonction, quel lien ne marche pas,etc)... ou si rien ne marche !
:)
1