Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Вставка текста в текстфилд (http://www.flasher.ru/forum/showthread.php?t=172974)

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

ну если я правильно понял то можно както так
Код AS1/AS2:

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 теги, или вам нужно наоборот чтоб они не сохранялись?


Часовой пояс GMT +4, время: 15:22.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.