Подскажите по JS

seomunch
На сайте с 21.11.2008
Offline
60
479

Имеем простой скрипт проверки заполнения полей. Если поле не заполнено то получаем ошибку. Единственно НО - проверка осуществляется после того как курсор окажется в поле и информация не будет введена.

Подскажите, как по умолчанию вывести сообщение о том что поле не заполнено, а в случае его заполнения менять текст на допустим "Все ок"?

Вот скрипт:

<script type="text/javascript">

function blur_error( div_id, input_id ) {
var obj_len = document.getElementById( input_id ).value.length;
var obj_error = document.getElementById( div_id );
if( obj_len == 0 )
{
obj_error.style.visibility = "visible";
}
else
{
obj_error.style.visibility = "hidden";
}
}
</script>

И вызов его в форме:

<input type="text" name="title" value="{title}" maxlength="150" class="f_input" onblur="blur_error('test_error', this.id)" id="test" />

Далее DIV с сообщением:

<div id="test_error" style="visibility: hidden;" class="aw_error" align="middle">Поле не заполнено!</div>
Банк времени (http://bank-vremeni.ru) - обменивайся своими возможностями с другими
webinteger
На сайте с 13.10.2007
Offline
110
#1

поменять

<div id="test_error" style="visibility: hidden;" class="aw_error" align="middle">Поле не заполнено!</div>
на

<div id="test_error"  class="aw_error" align="middle">Поле не заполнено!</div>

после заполнения надпись "Поле не заполнено" будет исчезать!

или чтоб меняло текст нужно поправить:



if( obj_len == 0 )
{
obj_error.innerHTML = "Поле не заполнено!";
}
else
{
obj_error.innerHTML = "Все ок!";
}

> PHP & mySQL написание и доработка скриптов Page 1 (/ru/forum/173281) Page 2 (/ru/forum/377616)
seomunch
На сайте с 21.11.2008
Offline
60
#2

А как к select'y данную проверку прикрутить?

webinteger
На сайте с 13.10.2007
Offline
110
#3
seomunch:
А как к select'y данную проверку прикрутить?


var obj = document.getElementById( input_id ).value;
...
if( obj > 0 )
seomunch
На сайте с 21.11.2008
Offline
60
#4

Спасибо большое)

---------- Добавлено 27.09.2012 в 17:30 ----------

Итого получаем:

var obj = document.getElementById( input_id ).value;

if( obj > 0 )
{
obj_error.innerHTML = "не заполнено!";
}
else
{
obj_error.innerHTML = "заполнено";
}

А вызов в селекте также происходит?

<select name="supername" onblur="blur_error('test_error99', this.id">

Смены не вижу при выборе варианта..

webinteger
На сайте с 13.10.2007
Offline
110
#5

а

var obj_error = document.getElementById( div_id );
куда дели?


var obj = document.getElementById( input_id ).value;
var obj_error = document.getElementById( div_id );
if( obj > 0 )
{
obj_error.innerHTML = "заполнено!";
}
else
{
obj_error.innerHTML = "не заполнено";
}
seomunch
На сайте с 21.11.2008
Offline
60
#6

Ага. Уже допер, сделал) Спасибо большое)

Ещё попутно, последнее))

Проверку на количество символов (для полей ввода естественно) как вести? Например минимум 5 символов?

И кстати, если ставим курсор в input, а потом убираем, не вводя данные - скрипт пишет что все ок. Тоже самое с селектом.. это можно исправить как то?

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий