Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как получить строки из textarea (https://javascript.ru/forum/misc/25456-kak-poluchit-stroki-iz-textarea.html)

Глеб Великанов 06.02.2012 09:15

Как получить строки из textarea
 
Нужно каждую новую строку, которые пользователь вводит в textare, отправить в переменную, кто-нить знает как?

poorking 06.02.2012 09:28

А что конкретно у вас не получается? Идеи есть какие-нибудь?

Serg_pnz 06.02.2012 09:44

Разделить регуляркой по переводу строк и отправив? А если юзер в первую строку внесет исправления?

Глеб Великанов 14.02.2012 16:32

Идей нет

FINoM 14.02.2012 16:36

Да, кстати, как получить количество строк в текстарее, учитывая не только \n, но и автоматический перенос?

poorking 14.02.2012 16:46

FINoM,
Кстати интересный вопрос, это явно будет зависеть от размера и типа шрифта, а если шрифт не моноширинный то вообще интересно.
К слову, в Ext.js есть TextMetrix, ей можно измерить дину строки, а если измерить длину всей строки (в пикселах например), то ее можно поделить на ширину контейнера вобщем то, это как идея. Там можно исходники посмотреть.

FINoM 14.02.2012 16:51

Я подозреваю, что есть какое-нибудь свойство типа innerHeight, а затем просто поделить это значение на line-height.

Pavel M. 15.02.2012 10:24

может так считать строки?
только лучше делать это на копии textarea, скрытой где-нибудь
<!DOCTYPE html>
<html>
<head>
<title>demo</title>
</head>
<body>
<button>Сколько строк?</button><br>
<textarea style="width: 200px; height: 100px; line-height: 18px;">Hello World</textarea>
<script>
  var t = document.getElementsByTagName('textarea')[0],
      b = document.getElementsByTagName('button')[0],
      lines;
  b.onclick = function () {
    t.style.height = 0;
    t.scrollTop = 1e5;
    lines = t.scrollTop / 18;
    t.style.height = '100px';
    alert(lines);
  }
  </script>
</body>
</html>

Mахmахmахimus 15.02.2012 16:19

Цитата:

Сообщение от Pavel M.
t.scrollTop = 1e5;

Где можно про это почитать?
что
2e3 === 2000
1e-1 === 0.1
я уже разобрался) может еще какие буквы интересные есть.

п.с. ух ты, а можно еще и вот так писать
1e+2 === 1e2

poorking 15.02.2012 16:20

Mахmахmахimus,
Экспоненциальная запись

alert(1e5 === Math.pow(10, 5))


Часовой пояс GMT +3, время: 01:03.