2011-07-20 2 views
0

J'ai un problème dans geting le contenu HTML d'un am div passer dans un champ d'entrée J'utilise le code suivant:passer un texte html dans un champ d'entrée en utilisant HTML DOM par innerHTML

<html> 
<body> 
<div id="void"> 
<div id="main"><strong>Hello</strong> my friend</div> 
</div> 
<br> 
<input type="text" id="resul" > 
<br> 
<script type="text/javascript"> 
x=document.getElementById("void").getElementsByTagName("div"); 
document.write("Text of first paragraph: " + x[0].innerHTML); 
document.getElementById("resul").value=x[0].innerHTML; 
</script> 
</body> 
</html> 

Si vous l'essayez, vous verrez ce que je veux dire. En utilisant la commande document.write() j'obtiens la valeur dont j'ai besoin de la balise de div: "Bonjour mon ami" mais quand je veux passer cette valeur "Bonjour mon ami" dans un champ, je reçois quelque chose comme ça "Bonjour mon ami ". Comment puis-je passer dans le champ de saisie uniquement le texte "Bonjour ami" sans balise.

Toute aide serait grandement appréciée! Merci!

Répondre

1

Que diriez-vous ceci:

<script type="text/javascript"> 
var x = document.getElementById("main"); 
document.write("Text of first paragraph: " + x.innerHTML); 
document.getElementById("resul").value= x.innerHTML; 
</script> 

pour passer le contenu sans l'étiquette, vous pouvez utiliser

x.textContent || x.innerText; 

donc:

var x = document.getElementById("main"); 
var text = x.textContent || x.innerText; 
    document.write("Text of first paragraph: " + text); 
    document.getElementById("resul").value = text; 
Questions connexes