![]() |
Как "отучить" input TextField добавлять лишний перенос строки?
Вложений: 1
Привет!
Возникла проблема того рода: Создается программно "input"-текстовое поле с предложением ввести свой текст или вводится уже измененный ранее текст, но при этом флеш добавляет "возврат каретки". И если мне нужно поменять, к примеру, одну букву или атрибут шрифта, то этот лишний абзац увеличивает высоту поля и мешает дальнейшим манипуляциям (центровка, выравнивание и т.д.) Как вариант, делал поле динамическим и только при редакции присваивал ему тип "input". Но в этом случае при добавлении новой строки добавляется еще одна. Упрощенный приложеный пример это показывает. Подскажите, как выкрутиться или поправте код. Спасибо. |
тег <p> добавляет перенос на новую строку
|
Если поле "динамик" - нет. Я приложил пример. Закоментируйте строку links_txt.type = "input";
Запустите и не нажимайте кнопку. Строки лишней нет! Добавлено. Тег нужен хотя бы для того, чтоб управлять <P ALIGN="..."> |
Может multiline = false подойдет?
|
Спасибо, iNils, но и это не помогло. Я тогда не могу добавлять новые строки. Не помогло и включение multiline = true уже непосредственно перед редактированием. С последним я еще немного "пошаманю"...
Добавлено. Не выходит: Даже если включать на стадии редактирования multiline = true, то при последующей загрузке весь текст в одной линии... |
Цитата:
|
Отказаться от тега <p> и задать центрирование через TextFormat
|
кстати если использовать стили, то перенос не добавляется к тегу <p>.
Но при этом поле теряет свойство "input"... причём на всегда :( |
2 Mnilionic - autoSize = true;
2 iNils - я тоже об этом подумываю. Но, есть серьезное "но". Текстфилду присвоено html = true;. Я просто считываю его содержание str и помещаю в ХМЛ: <_txt>"+"<![CDATA["+str+"]]></_txt>. Затем сохраняю оболочкой. Если отказаться, то прийдется лопатить этот str. А в нем может быть пару-наццать абзацев, плюс разноцветные слова и прочее форматирование. А как по другому сформировать ХэТэМээЛьный формат я не знаю. Добавлено 2 2 Mnilionic Юзверь (учитель) сам "раскрашивает" что сам же и написал. И только ему ведома, что он наваяет! |
Цитата:
|
Поведение текстового поля полностью логичное.
Вариант заплатки: 1) после чтения текста в динамик-поле - отключить автосайз (обязательно с задержкой!) 2) далее делаем поле инпутом и следим за числом строк - если строк стало больше чем было - включаем автосайз |
iNils, действительно,
но тогда оформление конвертируется в формат флеша и как результат появляется перенос на новую строку. |
Цитата:
|
Код:
f_createInterface = function () { |
Всем привет!
Спасибо за обсуждения моей проблемы. 2 Mnilionic: еще не успел опробывать, так как только пришел на работу и опробывал "танец с бубном" chingachgoog-а. И он сработал как мне надо!!! При выходе из редактирования "инпута" вставил в своей основной программе такой код: Код:
clip["container"+i].content_mc.input_txt.autoSize =falseА код Mnilionic-а опробую тоже. Еще раз спасибо! |
Нашел самое простое решение. Это убрать </p>, тогда разрыва строки не будет.
|
Цитата:
раньше как то не приходилось делать текст выделяемым, а теперь он выделяется и скролится на лишнюю строку вниз. p нам нет вообще, история мне очень непонятна Код AS1/AS2:
|
Цитата:
А пробывали "trace(tf.text)" после "tf.htmlText"? Флеш сам добавляет нужное форматирование для html текста и соответсвенно теги. |
Приветствую!
Цитата:
вырезать видимо бесполезно потому что придётся снова присваивать и опять вставится upd: пока временно вот так Код AS3:
теперь видимо надо шаманить с выделением, ограничивать его какм-то образом. |
Привет!
Ну, да, трейсить надо tf.htmlText. Я остановился на варианте chingachgoog-а без задержки. iNils-а предложение не реализовал по вышеизложеной причине. Не знаю, как поведет код Mnilionic-а в АС3 |
У меня аналогичная байда, только у меня просто динамик текст подгружаемый из хмл. скролл мыши отключен, но при выделении текста его можно сместить вниз на одну строку, могу кинуть пример, точнее он лежит где то в соседней ветке. Так что думаю дело не только в хтмл тегах. Использую AS2, само по себе это никак не напрягает, но сам факт присутствия такого имееется.
upd. вспомнил можно попробовать удалить тег через сплит. http://www.flasher.ru/forum/showthread.php?t=118720 как тут (несочтите за рекламу темы, там проблема уже решена) Там я и подгружал динамик текст, но после замены тегов, убралась ненужная строка после ентера в хмл. Так может и тут, как нибудь в конце текста убрать тег дающий лишнююю строку?. Сорри, если плохо выражаюсь, просто мне познания невелики, но ситуация кажеться весьма похожей. |
Цитата:
Отрезать последний перевод каретки при наличии, я думаю, ac3 в состоянии. |
Цитата:
Вот и намекнул $mival-у протестировать. Имхо, будет все тип-топ. |
Цитата:
|
А вот вопрос, а что получается если просто гружу текст из хмл, то там тоже теги используются, даже не смотря на то что нет опции "редактировать как хтмл"?
|
Цитата:
ещё бы чингачкук написал свой код, а то не понятно что за строки могут появиться после того как поле делается инпутом и отключается автосайз. может его код только для ас2 актуален, напоминаю что проблема в ас3 |
| Часовой пояс GMT +4, время: 00:28. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.