Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Copier le contenu d'un textarea dans un autre

8 réponses
Avatar
Pascal Bourdais
Bonjour,

J'ai cette portion de code qui me pose problème :

<textarea style="float: left;" cols="80" rows="3"
id="mesg_0" name="mesg[]">test message
ligne 2
ligne 3</textarea>

<textarea style="float: left;" cols="80" rows="3" id="mesg_1"
name="mesg[]"></textarea>

<input style="margin-left:2em;" type="button" value='def5'
onclick="document.getElementById('mesg_1').innerHTML =
document.getElementById('mesg_0').innerHTML; ">


Quand je l'execute sous FF, je retrouve bien les sauts de ligne, sous
IE8, je perds les sauts de ligne.

Le but est de charger le contenu d'un fichier dans un textarea en
cliquant sur un bouton pour proposer des données par défaut, ou une
donnée ancienne.

Si quelqu'un a une piste sur comment faire ...

Pascal

--
« Celui qui est prêt à sacrifier un peu de liberté pour obtenir un peu de
sécurité ne mérite vraiment ni l'une, ni l'autre. » ( Benjamin Franklin )

8 réponses

Avatar
Olivier Miakinen
Bonjour,

Le 21/05/2010 11:38, Pascal Bourdais a écrit :

J'ai cette portion de code qui me pose problème :

[...]
onclick="document.getElementById('mesg_1').innerHTML > document.getElementById('mesg_0').innerHTML; ">

Quand je l'execute sous FF, je retrouve bien les sauts de ligne, sous
IE8, je perds les sauts de ligne.

[...]

Si quelqu'un a une piste sur comment faire ...



Peut-être en remplaçant « .innerHTML » par « .data », ou plus
probablement par « .firstChild.data » ? Ou peut-être en faisant un
cloneNode() du .firstChild ? Si ça ne fonctionne pas, nul doute que SAM
saura trouver la solution !
Avatar
Pascal Bourdais
Le Fri, 21 May 2010 12:52:14 +0200, Olivier Miakinen a écrit:
Bonjour,

Le 21/05/2010 11:38, Pascal Bourdais a écrit :

J'ai cette portion de code qui me pose problème :

[...]
onclick="document.getElementById('mesg_1').innerHTML >> document.getElementById('mesg_0').innerHTML; ">

Quand je l'execute sous FF, je retrouve bien les sauts de ligne, sous
IE8, je perds les sauts de ligne.

[...]

Si quelqu'un a une piste sur comment faire ...



Peut-être en remplaçant « .innerHTML » par « .data », ou plus
probablement par « .firstChild.data » ? Ou peut-être en faisant un
cloneNode() du .firstChild ? Si ça ne fonctionne pas, nul doute que SAM
saura trouver la solution !



Merci pour ta réponse. Il fallait un mix de tout ça :

<input style="margin-left:2em;" type="button" value='def5'
onclick="document.getElementById('mesg_1').value document.getElementById('mesg_0').value; ">

plus du rab pour que ça marche avec IE8.

Pascal

--
« Celui qui est prêt à sacrifier un peu de liberté pour obtenir un peu de
sécurité ne mérite vraiment ni l'une, ni l'autre. » ( Benjamin Franklin )
Avatar
SAM
Le 5/21/10 11:38 AM, Pascal Bourdais a écrit :
Bonjour,

J'ai cette portion de code qui me pose problème :

<textarea style="float: left;" cols="80" rows="3"
id="mesg_0" name="mesg[]">test message
ligne 2
ligne 3</textarea>

<textarea style="float: left;" cols="80" rows="3" id="mesg_1"
name="mesg[]"></textarea>

<input style="margin-left:2em;" type="button" value='def5'
onclick="document.getElementById('mesg_1').innerHTML > document.getElementById('mesg_0').innerHTML; ">


Quand je l'execute sous FF, je retrouve bien les sauts de ligne, sous
IE8, je perds les sauts de ligne.



attention aux dangers d'utilisation de innerHTML !
chaque navigateur en faisant un peu ce qu'il veut
<http://stephane.moriaux.pagesperso-orange.fr/truc/innerHTML_danger>

et bêtement ... à l'ancienne mode ... puisqu'on est certainement dans un
form et que l'innerHTML d'un textarea n'en est qu'une représentation de
la value du dit textarea :

<input style="margin-left:2em;" type="button" value='def5'
onclick="mesg_1.value = mesg_0.value; ">

bien que les puristes pourront gueuler à l'horreur ...
alors compliquons un peu :

<input style="margin-left:2em;" type="button" value='def5'
onclick="this.form['mesg_1'].value = this.form['mesg_0'].value;">

que donne-ce cette fois ?
(je n'ai pas IE)

--
sm
Avatar
SAM
Le 5/21/10 12:52 PM, Olivier Miakinen a écrit :

Peut-être en remplaçant « .innerHTML » par « .data », ou plus
probablement par « .firstChild.data » ? Ou peut-être en faisant un
cloneNode() du .firstChild ? Si ça ne fonctionne pas, nul doute que SAM
saura trouver la solution !



nia nia !
tu as oublié "value"

chiante cette habitude de ne plus coder qu'en DOM
en oubliant que le JS existait sans le DOM avant
et que pour les forms il vaut mieux s'en tenir aux anciennes recettes
comme d'attraper les éléments par leur nom et non pas par leur id
et de ne pas ré-inventer la roue avec du innerHTML quand value est fait pour

--
sm
Avatar
SAM
Le 5/21/10 2:32 PM, Pascal Bourdais a écrit :

plus du rab pour que ça marche avec IE8.



sans doute préfère t-il le non mélange des genres ?
et qu'on ne lui fille pas des objets DOM
pour lui parler de value.

value plutôt réservé aux éléments de formulaires

éléments qui s'attrapent donc par
leurs noms au sein de la collection du form

var f = document.forms[0].elements;
if(f && f.length>0)
with (f) { if(!!chp_1 && !!chp_2) chp_1.value = chp_2.value; }

--
sm
Avatar
Pierre Goiffon
On 21/05/2010 18:03, SAM wrote:
chiante cette habitude de ne plus coder qu'en DOM
en oubliant que le JS existait sans le DOM avant
et que pour les forms il vaut mieux s'en tenir aux anciennes recettes
comme d'attraper les éléments par leur nom et non pas par leur id
et de ne pas ré-inventer la roue avec du innerHTML quand value est fait
pour



Stéphane président !!
;)
Avatar
Olivier Miakinen
Le 25/05/2010 16:56, Pierre Goiffon répondit à SAM :

chiante cette habitude de ne plus coder qu'en DOM
en oubliant que le JS existait sans le DOM avant
et que pour les forms il vaut mieux s'en tenir aux anciennes recettes
comme d'attraper les éléments par leur nom et non pas par leur id
et de ne pas ré-inventer la roue avec du innerHTML quand value est fait
pour



Stéphane président !!
;)



:-D

([OUI])
Avatar
SAM
Le 5/27/10 1:07 PM, Olivier Miakinen a écrit :
Stéphane président !!
;)



:-D

([OUI])



NAN :-(