Реклама на сайте Advertise with us

Подсчет джаваскриптом количиства строк в нескольких полях?

Расширенный поиск по форуму
 
Новая тема Новая тема   
Автор
Поиск в теме:



С нами с 15.12.06
Сообщения: 673
Рейтинг: 686

Ссылка на сообщениеДобавлено: 25/11/10 в 01:26       Ответить с цитатойцитата 

Есть форма типа:

Код:

<form>
<textarea id="text1"  name="text1">aaa
bbbbbbbbbbbb
cccccccccccccc
ddddddddddddd
eee</textarea>
<textarea id="text2"  name="text2">aaa
bbbbbbbbbbbb
cccccccccccccc
ddddddddddddd
eee</textarea>
<textarea id="text3"  name="text3">aaa
bbbbbbbbbbbb
cccccccccccccc
ddddddddddddd
eee</textarea>


<button id="submit" onClick="sumallstr()">submit</button>

<input type="text" name="sum" id="sum" value="">
</form>



Нужно, чтобы при нажатии на кнопку submit в поле sum появлилась сумма строк всех полей textarea, которые длинне 3-х символов, т.е. в данном примере сумма будет 12.


Итак, начнемс:
Код:

<script type="text/javascript">
   function sumallstr()
   {
      var calculated = (document.getElementById('text1').value + (document.getElementById('text2').value + (document.getElementById('text1').value);
      document.getElementById('sum').value = isNaN(calculated)==true?0:(calculated);
      return true;
   }

</script>



Ну, естественно, что мой скрипт нифига не посчитает, т.к. в сначало нужно засунуть каждое поле строк в массив, потом перебрать строки отсеяв те, что короче 3-х символов и суммировать их значение.

А вот как это сделать ума не приложу, помогите, кто может!

Нехилый заработок на блоге в рунете, где его продвижение неизбежно + темы, плагины и хаки Wordpress

0
 

« ... full on ... »

С нами с 17.03.07
Сообщения: 670
Рейтинг: 1686

Ссылка на сообщениеДобавлено: 25/11/10 в 09:36       Ответить с цитатойцитата 

На примере одной текст-арии, остальные надо добавить к lines, как в твоём коде, только между ними ещё добавить перевод строк, чтобы последняя строка из предыдущей, не сливалась с первой строкой из следующей.

Код:
<script type="text/javascript">
function sumallstr()
{
      lines = document.getElementById('text1').value;
      lines = lines.split("\r\n");
      total = 0;
      for(i=0; i<lines.length; i++)
      {
            if(lines[i].length>3) total++;
      }
      document.getElementById('sum').value = total;
      return true;
}
</script>

Power of the lime madness...

5
 



С нами с 15.12.06
Сообщения: 673
Рейтинг: 686

Ссылка на сообщениеДобавлено: 25/11/10 в 15:29       Ответить с цитатойцитата 

Супер, спасибо smail54.gif, именно то, что я хотел, оценил по максимуму!

Нехилый заработок на блоге в рунете, где его продвижение неизбежно + темы, плагины и хаки Wordpress

0
 



С нами с 09.03.09
Сообщения: 6053
Рейтинг: 3538


Передовик Master-X (01.11.2009) Передовик Master-X (16.11.2009) Передовик Master-X (01.02.2011) Передовик Master-X (01.12.2011) Передовик Master-X (16.12.2011) Ветеран трепа Master-X (01.01.2014)
Ссылка на сообщениеДобавлено: 25/11/10 в 22:37       Ответить с цитатойцитата 

log писал:
.., т.е. в данном примере сумма будет 12.

Может всё-таки 9? icon_smile.gif

Код:
<html>
<head>
   <script type="text/javascript">
      function foo(){
         var s = 0;
         var t = document.form1.getElementsByTagName("TEXTAREA");
         for(i = 0; i < t.length; i++){
            var l = t[i].value.split("\n");
            for(j = 0; j < l.length; j++) s += l[j].length > 3
         }
         return s;
      }
   </script>
</head>
<body>
   <form name="form1">
      <textarea></textarea>
      <textarea></textarea>
      <textarea></textarea>
      <button id="submit" onClick="alert(foo());">submit</button>
   </form>
<body>
</html>

5
 



С нами с 15.12.06
Сообщения: 673
Рейтинг: 686

Ссылка на сообщениеДобавлено: 26/11/10 в 07:25       Ответить с цитатойцитата 

Yacc писал:
Может всё-таки 9? :)


не, там их 11 будет :)

там в строках с "ааа" пробелы есть :)

Кстати Yacc, спасибо за пример оценил!

Нехилый заработок на блоге в рунете, где его продвижение неизбежно + темы, плагины и хаки Wordpress

0
 
Новая тема Новая тема   

Текстовая реклама в форме ответа
Заголовок и до четырех строчек текста
Длина текста до 350 символов
Купить рекламу в этом месте!


Перейти:  



Спонсор раздела Стань спонсором этого раздела!

Реклама на сайте Advertise with us

Опросы

Рецепт новогоднего блюда 2022



Обсудите на форуме обсудить (11)
все опросы »