Показать сообщение отдельно
  #3 (permalink)  
Старый 03.01.2014, 20:55
Аспирант
Отправить личное сообщение для sss2019 Посмотреть профиль Найти все сообщения от sss2019
 
Регистрация: 15.06.2010
Сообщений: 41

Спасибо. Подскажите пожалуйста еще одну вещь. Есть два поля input, я сделал функцию которая отображает блок с ошибкой либо блок который называется success, в зависимости от того сколько символов введено в поле.

Для поля name все работает отлично, но для поля contacts ничего не работает.

<input id="name" class="text" type="text" name="name" onkeyup="CheckLength('name', 200);" />
<input id="contacts" class="text" type="text" name="contacts" onkeyup="CheckLength('contacts', 200);" />


function CheckLength(id, max)
{
	var field = document.getElementById(id).value.length;
	alert(document.getElementById('contacts').value.length);
	
	if(field > max)
	{
		clearTimeout(t);
		
		switch(id)
		{
			case 'name' :
			{
				document.getElementById('name_success').style.display = 'none';
				document.getElementById('name_error').style.display = 'block';
				document.getElementById('name_error').title = 'Превышено максимальное число символов - ' + max + '\nТекущее количество - ' + field; break;
			}
			
			case 'contacts' :
			{
				document.getElementById('contacts_success').style.display = 'none';
				document.getElementById('contacts_error').style.display = 'block';
				document.getElementById('name_error').title = 'Превышено максимальное число символов - ' + max + '\nТекущее количество - ' + field; break;
			}
		}
	}
	
	if(field <= max && field > 0)
	{
		switch(id)
		{
			case 'name' :
			{
				document.getElementById('name_success').style.display = 'block';
				document.getElementById('name_error').style.display = 'none'; break;
			}
			
			case 'contacts' :
			{
				document.getElementById('contacts_success').style.display = 'block';
				document.getElementById('contacts_error').style.display = 'none'; break;
			}
		}
	}
	
	if(field == 0)
	{
		clearTimeout(t);
		
		switch(id)
		{
			case 'name' :
			{
				document.getElementById('name_success').style.display = 'none';
				document.getElementById('name_error').style.display = 'block'; break;
			}
			
			case 'contacts' :
			{
				document.getElementById('contacts_success').style.display = 'none';
				document.getElementById('contacts_error').style.display = 'block'; break;
			}
		}
	}
}


Проверял через alert часть document.getElementById(id).value.length, в случае с name пишет число символов, а в случае с contacts пишет undefined
Ответить с цитированием