Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 19.03.2012, 21:54
Интересующийся
Отправить личное сообщение для grego Посмотреть профиль Найти все сообщения от grego
 
Регистрация: 09.01.2012
Сообщений: 26

Внешняя валидация формы
Ребята, у меня вопрос по валидации полей формы, механизм валидации следующий - при перемещении фокуса из поля идет проверка на ввод значения в данное поле и если значение есть то поле (граница, фон) закрашивается зеленым, соответственно нужно, чтобы в случае когда поле пустое оно приходило к первоначальному значению.
Так вот происходит следующим образом - при установке цвета единожды он уже не хочет меняться - подскажите что нужно использовать для того, чтобы отменить установленный в функции стиль?
Т.е. поясняю был инпут текстовый, у него цвета границ заданы не были и фон тоже - что нужно написать в функции, чтобы в случае когда пользователь удаляет значение из инпута - цвет границы и фона возвращались к первоначальным?
Я смог только задать явно границу и фон в цсс и в функции, в случае если поле пустое - устанавливаю значения заданные в цсс.
И второй вопрос, данной функцией я хочу сделать перебор всех инпутов и проверить есть в них значение или нет, но если делаю условия if else - они работают до первого true, а затем проверка заканчиевается. Как можно сделать так, чтобы перебор шел до самого последнего инпута?
Заранее благодарю.
Ответить с цитированием
  #2 (permalink)  
Старый 19.03.2012, 23:03
Аватар для yashka525
Mr. Jacob
Отправить личное сообщение для yashka525 Посмотреть профиль Найти все сообщения от yashka525
 
Регистрация: 20.01.2011
Сообщений: 194

<input id="name"/><br>
<input id="email"/><br>
<input id="other"/>
<script>
function addEvent(a,b,c){
	if(a.addEventListener){
		a.addEventListener(b,c,!1)
	}
	else if(a.attachEvent){
		a.attachEvent('on' + b,c)
	}
};

var Inputs = document.getElementsByTagName('input');

for (var i = 0;i < Inputs.length;i++){
	(function(i){
		addEvent(Inputs[i],'blur',function(){
				if(Inputs[i].value == ''){
					Inputs[i].style.backgroundColor = 'red'
				}
				else{
					Inputs[i].style.backgroundColor = 'green'
				}
			}
		);
	})(i);
};
</script>
Ответить с цитированием
Ответ


Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Валидация полей формы на JS и сервере alex_89 Events/DOM/Window 9 04.12.2011 00:11
Валидация поля для отправки формы shkarbatov Javascript под браузер 3 25.07.2011 14:07
Валидация формы, проблемы с функциями kolybasov jQuery 7 11.07.2011 13:06
Валидация формы dmsuslov jQuery 4 05.11.2010 16:12
TinyMCE валидация формы Петр Библиотеки/Тулкиты/Фреймворки 1 09.12.2009 18:01