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))

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

Цитата:

Сообщение от poorking
Экспоненциальная запись

Ну это я уже понял) хотелось бы почитать про это, может еще какие буквы есть. так же интересно понять как вот это работает 1e+2 == 1e2

Pavel M. 15.02.2012 16:24

Цитата:

Сообщение от Mахmахmахimus
может еще какие буквы интересные есть.

есть
http://learn.javascript.ru/number-math

poorking 15.02.2012 16:28

Mахmахmахimus,
ну да помимо записи в экспоненциальном виде есть возможность записи в шестнадцатеричном и восьмеричном виде, и то, в восьмеричном, в строгом режиме (strict mode) вроде нельзя писать.
Цитата:

Сообщение от Mахmахmахimus
так же интересно понять как вот это работает 1e+2 == 1e2

"Е" просто обозначает "10 в степени", то есть 1e+2 есть 1 * 10 ^ +2. Это не есть выражение, это такой литерал.

Mахmахmахimus 15.02.2012 17:32

Цитата:

Сообщение от poorking
Это не есть выражение, это такой литерал.

попробовал поставить пробелы перед плюсом, разобрался)

Цитата:

Сообщение от Pavel M.
есть

Спасибо надо уже дочитать этот учебник...


п.с
>>1e309 === Infinity
true


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