вопрос по циклу
ребята сильно прошу не пинать, только начинаю учить 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, время: 04:43. |