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 )
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.
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
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
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
St�phane pr�sident !!
;)
:-D
([OUI])
NAN :-(