Подсчет количества слов в поле формы.
Доброго времени суток, уважаемые!
Столкнулся с такой вот ситуацией. Присутствует форма, отправляющая имэйл. Суть в том, что в поле "Текст объявления" вводится какой-то текст, и надо подсчитать количество слов в нем, ну и, соответственно, вывести их на экран. Вот сама форма (откуда-то выдрал, чуток переделал). <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="Отправить"> <input type="reset" value="Очистить"></center></td></tr> </table></form> В принципе, простецкая. Обрабатывает ее пхп-скриптик. Подсчитать нужно количество слов в textarea "comments". Видел на форуме скрипт для подсчета, но там по клику на кнопочке, а надо на лету... Помогите, плиз... |
Цитата:
|
Riim,
Это по keyup наверно. |
по факту ввода слов, я так понимаю. Я на каком то форуме такую приблуду видел. То есть не символы считает, а слова. Ввел одно слово - циферка 1 внизу поЯвилась, ввел два, три, соответствено циферка меняется.
|
Регулярные выражения - это сила;)
|
Боюсь, что мне это ничего не говорит. Я в яве ноль :(
|
Здесь все в яве ноль. Если хочешь считать слова - гуглить по запросу "регулярные выражения в JavaScript". Они есть во всех(?) языках программирования. Чем-то конкретным помочь не могу, т.к. рег. выражения знаю не очень.
|
Можно вот так например:
<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="Отправить"> <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> |
Часовой пояс GMT +3, время: 19:05. |