Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 09.08.2009, 11:42
Новичок на форуме
Отправить личное сообщение для Guranin Посмотреть профиль Найти все сообщения от Guranin
 
Регистрация: 09.08.2009
Сообщений: 3

Подсчет количества слов в поле формы.
Доброго времени суток, уважаемые!

Столкнулся с такой вот ситуацией. Присутствует форма, отправляющая имэйл. Суть в том, что в поле "Текст объявления" вводится какой-то текст, и надо подсчитать количество слов в нем, ну и, соответственно, вывести их на экран. Вот сама форма (откуда-то выдрал, чуток переделал).

<form action="mailer.php" method="post">
<table border="0" cellspacing="1" class="tablestyle" cellpadding="1" align="center">
<tr><td>Ф.И.О (заказчика):</td>
<td><input type="text" name="name" size="50"></td></tr>
<tr><td>E-mail: </td>
<td><input type="text" name="email" size="50"></td></tr>
<tr><td>Название организации: </td>
<td><input type="text" name="siteurl" size="50"></td></tr>
<tr><td>Контактный телефон: </td>
<td><input type="text" name="sitename" size="50"></td></tr>
<td>Текст вашего объявления: </td>
<td><textarea name="comments" cols=38 rows="7"></textarea></td></tr>
<tr><td colspan="2"><center><input type="submit" value="Отправить">&nbsp;&nbsp;<input type="reset" value="Очистить"></center></td></tr>
</table></form>

В принципе, простецкая. Обрабатывает ее пхп-скриптик. Подсчитать нужно количество слов в textarea "comments".

Видел на форуме скрипт для подсчета, но там по клику на кнопочке, а надо на лету... Помогите, плиз...
Ответить с цитированием
  #2 (permalink)  
Старый 09.08.2009, 13:56
Аватар для Riim
Рассеянный профессор
Отправить личное сообщение для Riim Посмотреть профиль Найти все сообщения от Riim
 
Регистрация: 06.04.2009
Сообщений: 2,379

Сообщение от Guranin
а надо на лету
Это как, на лету?
Ответить с цитированием
  #3 (permalink)  
Старый 09.08.2009, 15:18
Отправить личное сообщение для Андрей Параничев Посмотреть профиль Найти все сообщения от Андрей Параничев
 
Регистрация: 21.02.2008
Сообщений: 1,250

Riim,
Это по keyup наверно.
Ответить с цитированием
  #4 (permalink)  
Старый 09.08.2009, 15:25
Новичок на форуме
Отправить личное сообщение для Guranin Посмотреть профиль Найти все сообщения от Guranin
 
Регистрация: 09.08.2009
Сообщений: 3

по факту ввода слов, я так понимаю. Я на каком то форуме такую приблуду видел. То есть не символы считает, а слова. Ввел одно слово - циферка 1 внизу поЯвилась, ввел два, три, соответствено циферка меняется.
Ответить с цитированием
  #5 (permalink)  
Старый 10.08.2009, 10:41
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

Регулярные выражения - это сила
Ответить с цитированием
  #6 (permalink)  
Старый 10.08.2009, 10:52
Новичок на форуме
Отправить личное сообщение для Guranin Посмотреть профиль Найти все сообщения от Guranin
 
Регистрация: 09.08.2009
Сообщений: 3

Боюсь, что мне это ничего не говорит. Я в яве ноль
Ответить с цитированием
  #7 (permalink)  
Старый 10.08.2009, 11:25
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

Здесь все в яве ноль. Если хочешь считать слова - гуглить по запросу "регулярные выражения в JavaScript". Они есть во всех(?) языках программирования. Чем-то конкретным помочь не могу, т.к. рег. выражения знаю не очень.
Ответить с цитированием
  #8 (permalink)  
Старый 10.08.2009, 13:35
Отправить личное сообщение для Андрей Параничев Посмотреть профиль Найти все сообщения от Андрей Параничев
 
Регистрация: 21.02.2008
Сообщений: 1,250

Можно вот так например:
<form action="mailer.php" method="post">
<table border="0" cellspacing="1" class="tablestyle" cellpadding="1" align="center">
<tr><td>Ф.И.О (заказчика):</td>
<td><input type="text" name="name" size="50"></td></tr>
<tr><td>E-mail: </td>
<td><input type="text" name="email" size="50"></td></tr>
<tr><td>Название организации: </td>
<td><input type="text" name="siteurl" size="50"></td></tr>
<tr><td>Контактный телефон: </td>
<td><input type="text" name="sitename" size="50"></td></tr>
<td>Текст вашего объявления: </td>
<td><textarea name="comments" cols=38 rows="7"></textarea></td></tr>
<td>Введено слов: <span id="counter">0</span></td></tr>
<tr><td colspan="2"><center><input type="submit" value="Отправить">&nbsp;&nbsp;<input type="reset" value="Очистить"></center></td></tr>
</table></form>
<script type="text/javascript">
	var textarea = document.getElementsByName("comments")[0];
	var counter = document.getElementById("counter");
	textarea.onkeyup = function() {
		counter.innerHTML = this.value.split(/ +(?:\S)/).length;
	}
</script>
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как передать значение переменной в IFRAME в поле формы JS-ом из самой страницы? DeUre Общие вопросы Javascript 14 17.12.2013 16:37