PDA

Просмотр полной версии : Вставка текста в текстфилд


stantler
21.12.2011, 09:27
Задача на первый взгляд тривиальна: нужно вставить текст в текстовое поле.
Сложности: Нужно вставить текст в месте, где стоит каретка. Текст содержит хтмл теги.

Насколько я знаю функция Selection.getBeginIndex (как и Selection.getEndIndex) возвращают позицию в тексте без тэгов (относительно TextField.text, а не TextField.htmlText).

Как можно организовать подобное?

Добавлено через 13 минут
Точнее есть более элегантный способ, чем искать слова рядом с кареткой в TextField.text и искать их в TextField.htmlText?

lexa2000lexa
21.12.2011, 11:50
ну если я правильно понял то можно както такvar ttt:TextField = this.createTextField("ttt",1,100,100,200,100)
ttt.type = "input"
ttt.html = true
ttt.htmlText = "<b>text</b>text"
ttt.onChanged = function(){
var i:Number = Selection.getBeginIndex()
ttt.replaceText(i,i,"New text ");

}

stantler
21.12.2011, 13:50
Ваш вариант не подойдет, т.к. если я поставлю каретку так: "<b>te|xt</b>text", то Selection.getBeginIndex() выдаст 2, а в хтмл это значение равно 5

lexa2000lexa
21.12.2011, 14:02
Но ведь текст станет именно туда куда надо, и сохранить html теги, или вам нужно наоборот чтоб они не сохранялись?