Складываются ли вводимые в textarea строки в массив? Если да, то как к нему обратиться?
Я конечно могу сам их складывать, но если есть штатный массив мой код будет выглядеть весьма странно
Спустя 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 написал(а):
Её не складывать нужно, а разбивать
Спустя 18 часов, 9 минут, 20 секунд (15.08.2007 - 08:52) Ghirik написал(а):
Цитата(vasa_c @ 14.8.2007, 17:43) [snapback]25871[/snapback]
Её не складывать нужно, а разбивать
Разбивать, а потом складывать:-))
Я пытаюсь переформатировать текст вставляемый копированием в 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>
<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(), но оказалось , работает он с пикселями, что не есть удобно. Плюс к этому, разбор текста (переносы строк) - довольно объемный код.
Потому, я решил не заморачиваться, а использовать для вывода введенного текста ту же самую textarea. Она прекрасно настраивается стилями, и все границы и прокрутки полностью убираются Задаются любые шрифты и т.д. Переход в режим редактирования текста можно обозначить небольшим просветлением фона и появлением счетчика вводимых символов. Единственный недостаток такого метода - невозможно центровать текст внутри textarea.
Я буду использовать эту штуковину в составе интерактивного редактора, потом выложу сюда ссылку на готовый продукт.
Потому, я решил не заморачиваться, а использовать для вывода введенного текста ту же самую textarea. Она прекрасно настраивается стилями, и все границы и прокрутки полностью убираются Задаются любые шрифты и т.д. Переход в режим редактирования текста можно обозначить небольшим просветлением фона и появлением счетчика вводимых символов. Единственный недостаток такого метода - невозможно центровать текст внутри textarea.
Я буду использовать эту штуковину в составе интерактивного редактора, потом выложу сюда ссылку на готовый продукт.
_____________