вопрос по циклу
ребята сильно прошу не пинать, только начинаю учить JavaScript
на форме есть 8 инпутов которые проверяются по нужным условиям, если условие не выполняется то инпут красим цветом после выполнения всех условий необходимо проверить все инпуты на присутствие style.background вот набросал цикл var numberSelected=0; for (i=0; i <= 8; i++) { if (formObj.str[i].style.background == "#feafc4") { numberSelected++; } } alert (numberSelected); , но ничего не происходит по данному коду выяснил что не правильно идет перебор formObj.str[i].style.background Вопрос!!! Как правильно перебрать в цикле необходимые мне элементы?! |
надеюсь formObj.str это коллекция инпутов и их всего 9 ))) тогда проверять на style.background == "#feafc4" немного бессмысленно, разные браузеры по разному выдадут установленный цвет.
|
tikhon_shw, к примеру:
function checkInputs() { var form=document.forms['main_form']; for(var i=0;i<form.elements.length;i++) { if(form.elements[i].value=="") { form.elements[i].style.backgroundColor="#feafc4" } } } <form name="main_form"> <input type="text" /> <input type="text" /> <input type="text" /> <input type="text" /> <input type="button" value="проверить" onclick="checkInputs()"/> </form> И как сказал рони, глупо проверять цвет фона, он же появляется, когда условие не выполняется, то есть Вам нужно проверять условия ,а затем окрашивать их. |
Все спасибо!! получилось.. результат:
var form=document.forms['myform']; var numberSelected = 0; var emptyInput = 0; for(var i=0;i<form.elements.length;i++) { if(form.elements[i].style.background == "#feafc4") { numberSelected++; } } if (numberSelected == 0) formObj.myButon.disabled = false; else formObj.myButon.disabled = true; |
...а воз и ныне там ...
tikhon_shw, Посмотри какое значение background/backgroundColor будет в Google Chrome, Mozilla Firefox, Safari <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title></title> </head> <body> <form name="myform" action="http://"> <input name="n" size="50" /> <input name="s" size="50" /> </form> <script language="JavaScript" type="text/javascript"> var form=document.forms['myform']; form.n.style.background="#feafc4"; form.n.value=form.n.style.background; form.s.style.backgroundColor="#feafc4"; form.s.value=form.n.style.backgroundColor; </script> </body> </html> если уж очень хочеться сделать проверку на установленный цвет if(form.elements[i].style.backgroundColor == "#feafc4"||form.elements[i].style.backgroundColor == "rgb(254, 175, 196)") |
меня пока на данном этапе изучение JS устраивает то что получилось...
это первое что я пробую делать... (этап HelloWord решил пропустить) Вопрос: для чего я делаю проверку!! Ответ: есть форма, где люди должны вносить циферки.. так как люди могут внести как всегда, а не то что надо.. есть проверка логики заполнения формы... ту ячейку (или группу ячеек) которая (ые) не прошла (и) проверку подсвечиваем... затем есть необходимость выполнить условие отключение кнопки отправки формы.. вот и все.... решил просто посмотреть получится или нет проверять сразу на стороне клиента или нет.. чтобы облегчить себе же работу проверки на стороне сервера (php).. пока весь процесс меня устроил... Результат: получил что планировал. Заказана книга по JS основы. надеюсь что и дальше буду пробовать что-то делать новое облегчающее себе жизнь.... |
Цитата:
|
Цитата:
|
поправлюсь.. то что я пытаюсь сотворить (точнее уже запущено в работу) крутиться только в организации.. и тут внутри сети ничего кроме IE использовать не могут по ряду причин.. одна из которых софт который используется в конторе написан (по инструкции эксплуатации) только для IE
|
Цитата:
|
Часовой пояс GMT +3, время: 05:52. |