Page 1 sur 1

remplacer une valeur d un textarea preselectionne

Posté : 12 juil. 2007, 12:41
par Invité
bonjour a tous

voila mon pti probleme
j ai un textarea avec un texte

Code : Tout sélectionner

<textarea name="message" col="10"> Bonjour [Nom de votre ami], Blabla!A plus tard. </textarea>
a partir d un input je voudrais changer la valeur entre crochets [Nom de votre ami].

j ai essaye de modifier des scripts bbcode. mais sans succes ,
si vous aviez un exemple pour m aider :)

merci :lol:

Posté : 12 juil. 2007, 13:59
par sadeq
regardes au niveau des expressions régulières de javascript.

Posté : 12 juil. 2007, 14:11
par Invité

Code : Tout sélectionner

function changer(Reg,Val) { document.RecoForm.message1.value= document.RecoForm.message1.value.replace(Reg,Val); } <input type="text" name="nom" style ="font-size:14px;color:#666;width:150px;" onblur="changer('[ami]',this.value);"/><br /> <textarea name="message1" id="message1" col="10" style="font-size:14px;color:#666;width:400px;height:120px"> Bonjour [ami],!A plus tard.[Votre Nom],[Votre Email] </textarea>
c est ce que j ai fait ca fonctionne mais s' il RE-tape un nom, ca plante puisque [ami] (Reg) n est plus defini!!!!
la je seche un peu!

Posté : 12 juil. 2007, 16:25
par sadeq
utilise la propriété innerHTML pour le textarea et non value.
Correction:

Code : Tout sélectionner

function changer(Reg,Val) { document.RecoForm.message1.innerHTML = document.RecoForm.message1.innerHTML.replace(Reg,Val); }

Posté : 12 juil. 2007, 17:27
par Ryle
Le pattern ne devrait elle pas plutôt être /\[ami\]/ et pas '[ami]' ?

Les crochets définissent des classes et devraient donc être protégés...

Posté : 13 juil. 2007, 10:29
par Invité
merci pour les reponses :)

mais le script du haut fonctionnait (ie et ff), (innerhtml fonctionne aussi )

mais le probleme (je reexplique je sais pas si cetait clair!):

vient du fait que s il entre un nom dans l input , la valeur [ami] change correctement, mais le gars c est trompee et veut rechanger son nom, l input a perdu le focus et il le reprends , ben du coup [ami]n est plus present , et ca marche plus ...

du coup, je verifie sur onfocus si c est vide, si ca l est pas, j assigne dans une autre fonction la valeur originel du textarea...
je ne vois pas comment faire autrement.

voila voila
merci pour l aide en tout cas! :D
(je repond pour poster ma reponse pour le forum au cas ou)

Posté : 15 juil. 2007, 20:40
par sadeq
tu mémorise le nom dans une variable temporaire.