Добрый день!
Прошу помочь разобраться, что не так в моем коде.
Есть форма с 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. 
Наверное, все это можно решить как-то проще, но что-то сейчас ничего не выходит. Да и в любом случае хотелось бы разобраться в ошибке.
Заранее спасибо!