Внешняя валидация формы
Ребята, у меня вопрос по валидации полей формы, механизм валидации следующий - при перемещении фокуса из поля идет проверка на ввод значения в данное поле и если значение есть то поле (граница, фон) закрашивается зеленым, соответственно нужно, чтобы в случае когда поле пустое оно приходило к первоначальному значению.
Так вот происходит следующим образом - при установке цвета единожды он уже не хочет меняться - подскажите что нужно использовать для того, чтобы отменить установленный в функции стиль? Т.е. поясняю был инпут текстовый, у него цвета границ заданы не были и фон тоже - что нужно написать в функции, чтобы в случае когда пользователь удаляет значение из инпута - цвет границы и фона возвращались к первоначальным? Я смог только задать явно границу и фон в цсс и в функции, в случае если поле пустое - устанавливаю значения заданные в цсс. И второй вопрос, данной функцией я хочу сделать перебор всех инпутов и проверить есть в них значение или нет, но если делаю условия if else - они работают до первого true, а затем проверка заканчиевается. Как можно сделать так, чтобы перебор шел до самого последнего инпута? Заранее благодарю. |
<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> |
Часовой пояс GMT +3, время: 15:56. |