Нестандартная проверка

Статус
Закрыто для дальнейших ответов.

Faber

Новичок
Регистрация
28.09.2006
Сообщения
2
Уважаемые господа, необходимо в кратчайший срок разрешить следующую задачу.

В форме 11 полей, проверку которых нужно осуществить на заполнено/незаполнено и желательно в поля типа "Имя" не пускать цифры. НО, при этом нужно выводить сообщение об ошибке НАПРОТИВ поля, где оная была допущена. После ее исправления и перехода в следующее поле сообщение должно исчезать.

Очень прошу помочь, если кому-то несложно. JS использую очень редко, а тут сроки убивают. Иначе бы не обращался, сам люблю разрешать подобные штуки.
Заранее огромное спасибо.
 

v0rbis

selfcoded
Регистрация
02.05.2005
Сообщения
923
Код:
function check()
{
var err=0;

for(var i=0;i<document.FORM_NAME.elements.length-1;i++)
{
   var el=document.FORM_NAME.elements[i];
   if(el.type=='text')
   {
		if(el.value=='')
	   {
			   document.getElementById("err_"+i).innerHTML="заполните поле!";
			   err=1;
	   }else if(el.name=='name' && !el.value.match(/^[a-zA-Z_\-]$/)) {document.getElementById("err_"+i).innerHTML="цифры нельзя!"; err=1;}
		
   }
}

if(err) return false;

}
<form name="FORM_NAME" onsubmit="check();">
<input type="text" name="dmimfd"/><span class="err" id="err_1"></span>
...............
...............
<input type="text" name="dmretred"/><span class="err" id="err_11"></span>
</form>

вот. исчерпывающий ответ.
 

Faber

Новичок
Регистрация
28.09.2006
Сообщения
2
вот. исчерпывающий ответ.

Спасибо огромное, v0rbis!
Но в случае, если у меня есть хотябы 2 поля, err_1 и err_2, и они оба пустые, то получается обратный эффект.
Тоеть если оба поля пусты - все нормально отправляется, а если заполняешь первое - выдает сообщение... В чем может быть причина?

Вопрос:
в чем отличие "dmimfd" от "dmretred" и что они обозначают?
Еще следующий момент: сообщение об ошибке должно висеть, пока поле не будет исправлено, а оно пропадает.
 

v0rbis

selfcoded
Регистрация
02.05.2005
Сообщения
923
Вопрос:
в чем отличие "dmimfd" от "dmretred" и что они обозначают?

в наборе букв :) это имена твоих текстовых полей. замени на свои. просто в коде есть проверка на на то, чот введено в поле имени. т.е. один текстфилд у тебя хоть как должен быть с name="name". код рабочий, но написан был на ходу прям здесь. так что нужно подправить под себя чтонить.
 
Статус
Закрыто для дальнейших ответов.
Верх Низ