Динамические изменение цвета кнопки
Здравствуйте. Уже 2 день пытаюсь сделать, чтобы цвет div изменялся в зависимости от заполненности форм. DIv у меня является кнопкой, которая меняет свой цвет на зелёный, если все поля заполнены и на красный, если есть пустое поле. Я делаю это так:
Вешаю такой обработчик события: if (window.addEventListener) { document.addEventListener('keypress', getKey, false); window.addEventListener('load', emptyForm, false); } else if (window.attachEvent) { document.attachEvent('onkeypress', getKey); } Вот сама функция emptyForm function emptyForm() { var form = document.forms[0].elements; for (var i = 1; i < form.length; i++) { form[i].onchange = proof; form[i].onkeypress = proof; } } А вот обработчик proof function proof() { var elements = []; var button = document.getElementById('button'); var form = document.forms[0].elements; for (var i = 1; i<form.length; i++) { elements[i] = form[i]; } for (var t = 1; t < elements.length; t++) { if ((elements[t].type == 'text' && elements[t].value == '') || (elements[t].type == 'textarea' && elements[t].value == '') || (elements[t].type == 'radio' && !elements[t].checked)) { button.style.backgroundColor = 'red'; return; } } button.style.backgroundColor = 'green'; } В итоге я получаю, то, что кнопка свой цвет не меняент, но, если убрать вот эту строчку из proof, которая проверяет была ли выбранна какая то кнопка button (elements[t].type == 'button' && !elements[t].checked) То код вроде работает так, как я хотел, цвет кнопки меняется, но опять же, она не меняет свой цвет в IE. А вот с этой строчкой код нигде не работает. Помогите, пожалуйста. |
возможно потому что атрибута checked нет для button?
|
Ай я яй, ну вообщем там 'radio' должен быть. Но с ним таже история. Да и итерации у меня идут с 1 потому, что у меня форма обёрнута в <fieldset>, чтобы он его пропускал.
|
if (window.addEventListener) { document.addEventListener('keypress', getKey, false); window.addEventListener('load', emptyForm, false); } else if (window.attachEvent) { window.attachEvent('onload', emptyForm, false); document.attachEvent('onkeypress', getKey); } и сюда, надеюсь я нигде не ошибся |
Часовой пояс GMT +3, время: 10:09. |