@Ysery

Оповещение о минимальном количестве символов в textarea?

Доброго времени суток, уважаемые специалисты.

Подскажите, как переделать этот код, чтобы количество набираемых символов не было видно. А если пользователь написал сообщение, к примеру, в 40 символов, и попытался отправить, то выводилось бы "Слишком мало символов, осталось <тут количество оставшихся символов в реальном времени>". И когда пользователь набирал бы 51 символ, то сообщение скрывалось.

Т.е. написал человек сообщение "Спасибо", нажал на кнопочку Отправить, а ему показало "Слишком мало символов, осталось 43". И он такой стал писать "Спасибо, всё теперь понятно стало." При этом после ввода каждого символа счётчик символов уменьшался бы 42... 41... 40... 39... и так далее. А когда бы комментарий преодолел 50 символ, то сообщение исчезало вовсе.

<script type="text/javascript">
function CheckLength() {
    var msg_area = document.getElementById("Message");
    msg_area.innerHTML = "";
    if (document.getElementById("membershortdescription").value.length < 50) {
        msg_area.innerHTML = "Слишком мало символов";
        return false;
    } else document.getElementById("form3").submit();
}

function textCounter(membershortdescription, counterID, minLen) {
cnt = document.getElementById(counterID);

if (membershortdescription.value.length < minLen) {
 cnt.innerHTML = minLen - membershortdescription.value.length;
} else {
 cnt.innerHTML = "OK";
}

}

</script>


<form action="mypage.php" name="form3" enctype="multipart/form-data" method="post" onsubmit="return CheckLength ()">

<textarea rows="8" cols="38" name="membershortdescription" id="membershortdescription" class="profileFormSelect" onKeyUp="textCounter(this,'count_display',50);"  onBlur="textCounter(this,'count_display',50);"></textarea>
            <br />
            <span id="count_display">50</span>
            <span id="Message" style="color: #ff0000"></span>

<input type='submit' value='submit'>
</form>


Если что, на сайте есть jQwerty
  • Вопрос задан
  • 83 просмотра
Пригласить эксперта
Ответы на вопрос 1
@Karpion
Для начала надо найти обработчик события, вызываемый при каждом изменении содержимого области ввода. Т.е. берём учебник/справочник, читаем описания всех обработчиков, которые можно пришить к области ввода.
А далее берём длину строки от содержимого области ввода и обрабатываем её как нужно. Кстати, в идеале - кнопку "отправить сообщение" надо сделать неактивной на всё время, пока содержимое поля ввода не соответствует нашим критериям.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы