Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 04.08.2010, 16:02
Новичок на форуме
Отправить личное сообщение для tikhon_shw Посмотреть профиль Найти все сообщения от tikhon_shw
 
Регистрация: 04.08.2010
Сообщений: 6

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

Вопрос!!! Как правильно перебрать в цикле необходимые мне элементы?!
Ответить с цитированием
  #2 (permalink)  
Старый 04.08.2010, 16:20
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

надеюсь formObj.str это коллекция инпутов и их всего 9 ))) тогда проверять на style.background == "#feafc4" немного бессмысленно, разные браузеры по разному выдадут установленный цвет.
Ответить с цитированием
  #3 (permalink)  
Старый 04.08.2010, 16:25
Любитель
Отправить личное сообщение для JsLoveR Посмотреть профиль Найти все сообщения от JsLoveR
 
Регистрация: 16.12.2009
Сообщений: 422

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>

И как сказал рони, глупо проверять цвет фона, он же появляется, когда условие не выполняется, то есть Вам нужно проверять условия ,а затем окрашивать их.
Ответить с цитированием
  #4 (permalink)  
Старый 05.08.2010, 07:59
Новичок на форуме
Отправить личное сообщение для tikhon_shw Посмотреть профиль Найти все сообщения от tikhon_shw
 
Регистрация: 04.08.2010
Сообщений: 6

Все спасибо!! получилось.. результат:

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;
Ответить с цитированием
  #5 (permalink)  
Старый 05.08.2010, 09:00
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

...а воз и ныне там ...
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)")
Ответить с цитированием
  #6 (permalink)  
Старый 05.08.2010, 12:27
Новичок на форуме
Отправить личное сообщение для tikhon_shw Посмотреть профиль Найти все сообщения от tikhon_shw
 
Регистрация: 04.08.2010
Сообщений: 6

меня пока на данном этапе изучение JS устраивает то что получилось...
это первое что я пробую делать... (этап HelloWord решил пропустить)

Вопрос: для чего я делаю проверку!!
Ответ: есть форма, где люди должны вносить циферки.. так как люди могут внести как всегда, а не то что надо.. есть проверка логики заполнения формы... ту ячейку (или группу ячеек) которая (ые) не прошла (и) проверку подсвечиваем... затем есть необходимость выполнить условие отключение кнопки отправки формы.. вот и все....

решил просто посмотреть получится или нет проверять сразу на стороне клиента или нет.. чтобы облегчить себе же работу проверки на стороне сервера (php).. пока весь процесс меня устроил...

Результат: получил что планировал. Заказана книга по JS основы.
надеюсь что и дальше буду пробовать что-то делать новое облегчающее себе жизнь....

Последний раз редактировалось tikhon_shw, 05.08.2010 в 12:33.
Ответить с цитированием
  #7 (permalink)  
Старый 05.08.2010, 12:46
Новичок на форуме
Отправить личное сообщение для tikhon_shw Посмотреть профиль Найти все сообщения от tikhon_shw
 
Регистрация: 04.08.2010
Сообщений: 6

Сообщение от рони
Посмотри какое значение background/backgroundColor будет в Google Chrome, Mozilla Firefox, Safari
Спасибо учту!!! надеюсь на данном этапе вопроса по работе условий не будет (вроде как все используют IE)
Ответить с цитированием
  #8 (permalink)  
Старый 05.08.2010, 13:24
Любитель
Отправить личное сообщение для JsLoveR Посмотреть профиль Найти все сообщения от JsLoveR
 
Регистрация: 16.12.2009
Сообщений: 422

Сообщение от tikhon_shw
вроде как все используют IE
Ответить с цитированием
  #9 (permalink)  
Старый 05.08.2010, 13:55
Новичок на форуме
Отправить личное сообщение для tikhon_shw Посмотреть профиль Найти все сообщения от tikhon_shw
 
Регистрация: 04.08.2010
Сообщений: 6

поправлюсь.. то что я пытаюсь сотворить (точнее уже запущено в работу) крутиться только в организации.. и тут внутри сети ничего кроме IE использовать не могут по ряду причин.. одна из которых софт который используется в конторе написан (по инструкции эксплуатации) только для IE
Ответить с цитированием
  #10 (permalink)  
Старый 05.08.2010, 15:29
Новичок
Отправить личное сообщение для inGray Посмотреть профиль Найти все сообщения от inGray
 
Регистрация: 03.08.2010
Сообщений: 230

Цитата:
только для IE
Жестоко-то как....
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос безопасности HelpeR AJAX и COMET 10 11.04.2010 14:08
Вопрос о циклических ссылках (JavaScript -> Dom -> JavaScipt) BlueIce Events/DOM/Window 10 17.02.2010 21:58
Вопрос про ООП, цепочки прототипов. Shaci Общие вопросы Javascript 5 27.01.2010 14:50
мааленький вопрос по Regexp:) mirniy Общие вопросы Javascript 1 22.01.2009 20:47
вопрос по long poll megaswin AJAX и COMET 2 27.05.2008 09:20