Замена текста с использованием JavaScript - PullRequest
0 голосов
/ 02 июня 2010

Я хочу заменить некоторый выбранный символ из моей текстовой области на некоторую строку. Для этого я написал следующий код 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);

}

Но этот код заменяет один символ в одной строке, а другой - в другой. Для двух строк кода замены он показывает четыре строки.

Plz, улучшите этот код, чтобы я мог выполнять свою работу в одной строке.

Спасибо

1 Ответ

1 голос
/ 02 июня 2010

Вы, вероятно, хотите сделать что-то вроде:

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

replace не имеет побочных эффектов: он возвращает новую строку, поэтому вам нужно назначить ее, чтобы сохранить изменения.

...