Сразу попрошу прощения у модераторов, если я ошибся разделом - перенесите плиз, куда нужно. Вобщем есть код: Code: <textarea></textarea> <input type="text" /> Нужно написать на js как можно минимально и правильно с точки зрения программирования сценарий. Задача сценария: выводить в текстовом поле оставшееся количество знаков, при вводе символов в текстарии. Допустим, их будет: 500. Как только, при вводе в текстарии количество больше 500 - символ просто не добавляется. Приз - шестизначый icq uin P.S. Копипаст подобных форм и последующее переделывание - не приветствуется! Спасибо!
хм, интересная задачка оказалась, мой вариант: Code: <script> function isNotMax(e){ e = e || window.event; var target = e.target || e.srcElement; var code=e.keyCode?e.keyCode:(e.which?e.which:e.charCode) switch (code){ case 13: case 8: case 9: case 46: case 37: case 38: case 39: case 40: return true; } var max = 10; // Максимальное кол-во знаков в textarea (также надо выставить в html-форме) var l = document.myform.text.value.length; if (l > max) document.myform.text.value = ""; var a = document.myform.ost.value; if (a>=0 && l<=max) document.myform.ost.value = max - l; return target.value.length < max; } </script> <form name="myform"> <textarea rows="10" cols="25" name = "text" onkeyup="return isNotMax(event)" onChange="return isNotMax(event)" onFocus="return isNotMax(event)" onBlur="return isNotMax(event)" onSelect="return isNotMax(event)" onMouseOut="return isNotMax(event)" onMouseMove="return isNotMax(event)" onkeypress="return isNotMax(event)"></textarea> <input type = "text" name = "ost" size = "5" value= "10"> </form> Отличия от предыдущего: 1. Грамотная блокировка кнопок - т.е. можно заново перенабрать сообщение 2. Кол-во оставшихся символов считается всегда, если удалить часть текста и начать "донабирать" остаток 3. Защита от вставки большого текста из буфера (копипаст) Работает в FF, IE и OPERA, что и закономерно, т.к. максимально упрощенно и без извратов старался Но наверняка можно еще лучше сделать