Показать сообщение отдельно
  #1 (permalink)  
Старый 11.07.2012, 12:50
Аспирант
Отправить личное сообщение для Caminante Посмотреть профиль Найти все сообщения от Caminante
 
Регистрация: 23.03.2012
Сообщений: 40

Проблема с замыканиями
Добрый день!

Прошу помочь разобраться, что не так в моем коде.
Есть форма с id="ask". После того, как пользователь заполнил все поля, нужно заменить кнопку отправки на активную. Для проверки пишу функцию, которая должна проверить все поля и в итоге возвратить true, если они все заполнены. Проверка выполняется каждый раз по keypress в поле.

function checkInput()
	{	
		function asks(i)
		{		
			if(ask.elements[i].tagName != 'INPUT' && ask.elements[i].tagName != 'TEXTAREA') 
			{
				if(i < ask.elements.length-1)
				{
					asks(i+1);
				}
				else
				{
					return true;
				}
			}
			
			else
			{
				if(ask.elements[i].value == '')
				return false;
				else
				{
					if(i < ask.elements.length-1)
					{
						asks(i+1)
					}
					else
					{
					//	if(i = ask.elements.length-1)
						return true;				
					}
			 	}
			 		
			}		 
		}
		
     alert(asks(1));

	}


//отсчет с 1 намеренный, т.к. первое поле hidden
При попытке ввести что-то во второе поле выдает undefined.

Наверное, все это можно решить как-то проще, но что-то сейчас ничего не выходит. Да и в любом случае хотелось бы разобраться в ошибке.

Заранее спасибо!
Ответить с цитированием