2010-06-02 11 views
0

Je veux remplacer un caractère sélectionné de ma zone de texte avec de la chaîne. Pour ce faire, je l'ai écrit le code JavaScript suivantRemplacement de texte en utilisant JavaScript

  var old_tag = "["; 
     var tag= " <xsl:value-of select = "; 
     var endtag= " />"; 
var txt=''; 

if(document.selection) 
{ 
txt = document.selection.createRange().text 
document.selection.createRange().text = txt.replace(/\[/g, tag); 
document.selection.createRange().text = txt.replace(/\]/g, endtag); 

} 

Mais ce code le remplacement d'un caractère à une ligne et une autre dans une autre ligne. Pour deux lignes de code de remplacement, il montre quatre lignes.

Plz améliorer ce code afin que je puisse faire mon travail dans une seule ligne.

Merci

Répondre

1

Vous voulez sans doute faire quelque chose comme:

txt = document.selection.createRange().text; 
txt = txt.replace(/\[/g, tag).replace(/\]/g, endtag); 
document.selection.createRange().text = txt; 

replace n'a pas d'effets secondaires: il renvoie une nouvelle chaîne, vous devez attribuer à maintenir le changement autour.