[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: TextArea-Массив?
Ghirik
Что-то ни где не могу найти информацию...
Складываются ли вводимые в textarea строки в массив? Если да, то как к нему обратиться?
Я конечно могу сам их складывать, но если есть штатный массив мой код будет выглядеть весьма странно dumau.gif



Спустя 48 минут, 42 секунды (14.08.2007 - 14:06) vasa_c написал(а):
Нет не складываются. С какой стати? Содержимое передается, как обычная строковая переменная. Строки разделены переносами строк.

Спустя 12 минут, 24 секунды (14.08.2007 - 14:18) Ghirik написал(а):
Цитата(vasa_c @ 14.8.2007, 17:06) [snapback]25868[/snapback]
Нет не складываются. С какой стати? Содержимое передается, как обычная строковая переменная. Строки разделены переносами строк.


Спасибо, буду складывать...

Спустя 24 минуты, 46 секунд (14.08.2007 - 14:43) vasa_c написал(а):
Её не складывать нужно, а разбивать smile.gif

Спустя 18 часов, 9 минут, 20 секунд (15.08.2007 - 08:52) Ghirik написал(а):
Цитата(vasa_c @ 14.8.2007, 17:43) [snapback]25871[/snapback]
Её не складывать нужно, а разбивать smile.gif


Разбивать, а потом складывать:-))

Я пытаюсь переформатировать текст вставляемый копированием в textarea, для вывода в тэг pre. Т.е., клиент вставляет текст, и сразу видит результат, подправляет, если нужно.
Пока это выглядит вот так: http://door-to.ru/LamerPhotoBlog/TextArea.htm
Код
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script language="javascript">
<!--
function k_t(p,x,k,j){
    if(x.value.length>j){
    x.value=x.value.substring(0,j)}
    else{
    k.value=j-x.value.length
    p.firstChild.nodeValue=x.value}}
function up(e,a){
    if(e.keyCode==9){
    a.value+='\t'
    e.returnValue=false
    b=a.createTextRange()
    b.collapse(false)
    b.select()
    }}
//-->
</script>
</head>
<body>
<table border=1 width=60%>
<tr>
<td>
<b><pre id=p1>Enter the text</pre></b>
</td>
</tr>
<tr>
<td>
<textarea rows=9 id=x1 cols=60 onkeydown=up(event,this) OnKeyUp=k_t(p1,this,k1,1600)></textarea>
<input readonly type=text id=k1 size=3 maxlength=4 value=1600 onfocus=x1.focus()>
</td>
</tr>
</table>
</body>
</html>

Обратите внимание, "таб" работает по человечьи, в современных браузерах.
Доделаю, выложу законченный вариант, может кому пригодится...

Спустя 6 дней, 14 часов, 50 минут, 31 секунда (21.08.2007 - 23:43) Ghirik написал(а):
Цитата
Нет не складываются. С какой стати?


Как бы... Не совсем верно Ваше утверждение. Есть такой метод - getClientRects

Цитата

getClientRects() NN n/a Ie5+

Мeтод возврaщaeт мaссив всeх объeктов TextRectangle, нaходящихся внутри тeкущeго объeктa в момeнт вызовa мeтодa.
Мeтод нe поддeрживaeтся в Ie5/Mac

Возврaщaeмоe знaчeниe
мaссив объeктов TextRectangle

Пaрaмeтры
нeт


Сейчас поддерживается всеми браузерами.

Спустя 2 дня, 22 часа, 25 минут, 34 секунды (24.08.2007 - 22:08) Ghirik написал(а):
Хороший метод getClientRects(), но оказалось rolleyes.gif , работает он с пикселями, что не есть удобно. Плюс к этому, разбор текста (переносы строк) - довольно объемный код.
Потому, я решил не заморачиваться, а использовать для вывода введенного текста ту же самую textarea. Она прекрасно настраивается стилями, и все границы и прокрутки полностью убираются Задаются любые шрифты и т.д. Переход в режим редактирования текста можно обозначить небольшим просветлением фона и появлением счетчика вводимых символов. Единственный недостаток такого метода - невозможно центровать текст внутри textarea.
Я буду использовать эту штуковину в составе интерактивного редактора, потом выложу сюда ссылку на готовый продукт.


_____________
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.