11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour,

J'utilise la fonction innerhtml pour copier un texte formate ( avec des \n pour les sauts de ligne ), dans une balise <textarea>.

Ceci fonctione tres bien sous firefox. Cependant IE semble enlever toute mise en forme (\n) lors de l'utilisation de innerhtml.

Avez vous deja ete confronte a ce probleme ?

Avez vous trouver une solution ?

Merci d'avance.
Voici le code, il tient en une ligne :

// Dans ce code, "div" et "textarea" ont ete declare auparavant avec un getElementById.
// "div" peut etre un <textares> ou un <div> .

textarea.value = div.innerHTML;

Dans ce ca, div peut contenir par exemple :

"ligne \n ligne 2\n\n ligne3".

Dans le cas ou "div" represente un "<textarea>" cela fonctionne sous firefox et IE. Mais si "div" est un "<div>" alors IE enleve les \n apparement. Et le texte n'est plus formate.

Clair n'est-il pas ? Smiley lol

En realite, en utilisant le textarea je peux faire fonctionner mon appli, mais je suis curieux de savoir si quelqu'un a deja resolu ce probleme. Et si ca peut aider d'autres personnes ...
En realite, je ne doit pas avoir de balise html dans mon texte. Il s'agit d'un "wikitext" que je modifie par la suite. Je dois donc garder la mise en forme.

Je pense donc que innerHTML ne fait pas l'affaire ici car il effectue certains traitements sur les donnees.

Il faudrait utiliser une autre fonction qui copie-insere le texte brut ..

Une idee ? Smiley smile
a écrit :
essai avec firstChild.data


Ca a l'air de correspondre a ce que je recherche effectivement ..

Merci, je vais le tester .... Smiley smile