2010-08-11 13 views
3

Je veux prendre le contenu d'une zone de texte et le mettre dans un <pre>. Le problème est que si je mets la propriété innerHTML du pré à la valeur de la zone de texte, tous les onglets et les sauts de ligne seront supprimés dans Internet Explorer. Si j'utilise innerText au lieu de innerHtml, j'obtiendrai les sauts de ligne mais les onglets disparaissent toujours. Fonctionne très bien dans d'autres navigateurs.innerHtml et innerText détruisent les onglets dans Internet Explorer

Existe-t-il une solution pour cela?

Répondre

5

Créer un noeud texte DOM:

pre.innerHTML= ''; 
pre.appendChild(document.createTextNode('A\tB\r\nC')); 

La nouvelle ligne de style Windows (\r\n) est faux (contenu DOM doit toujours avoir normalisé les nouvelles lignes à \n), mais semble être nécessaire dans IE pour une raison quelconque.

+0

Merveilleux! Merci beaucoup! – Martin