[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Не срабатывает Javascript
ViaScientarium
Приветствую всех!
Есть такая проблема:

Код

....
 for (var i = 0; i <= '.$count.'; i++) {
  If (document.getElementById("p"+i+"1").checked){
            alert("тест");
  }
 }
....


Почему может не работать такой простой скрипт?
Причем вот такой код:

Код

....
 for (var i = 0; i <= '.$count.'; i++) {
   alert("тест");
 }
....


работает... То есть получается, что проблема заключается в конструкции If?



Спустя 3 минуты, 15 секунд (28.05.2009 - 20:17) vasa_c написал(а):
Что это за нафиг вообще?

JS м/у прочим регистрозависимый

Спустя 27 минут, 22 секунды (28.05.2009 - 20:44) ViaScientarium написал(а):
Я хочу сделать скрипт, с помощью которого можно было определить какие из checkbox выделены. Имя у каждого чекбокса свое, то есть p11, p21, p31 и т.д.
Если вместо i подставить любое число(константу), то скрипт работает.

Спустя 21 минута, 17 секунд (28.05.2009 - 21:05) FatCat написал(а):
Вместо конструкции
HTML
document.getElementById("p"+i+"1")
попробуйте конструкцию
HTML
eval('temp_id = "p"+'i'+"1";');
document.getElementById(temp_id)


Писал не проверяя. Если не работает, посмотрите внимательно синтаксис под eval-ем.

И я бы советовал не использовать в объявлении цикла var-ов, достаточно будет
HTML
for (i = 0; i <= '.$count.'; i++)

Спустя 3 минуты, 48 секунд (28.05.2009 - 21:09) FatCat написал(а):
Кстати, в курсе, что при i=1 конструкция "p"+i+"1" выдаст "p11", а не "p2"?
Если надежно нужно получить "p2", используйте неявные преобразования формата: "p"+i*1+1

Спустя 11 часов, 41 минута, 19 секунд (29.05.2009 - 08:50) glock18 написал(а):
Цитата
Имя у каждого чекбокса свое, то есть p11, p21, p31 и т.д.

Цитата
document.getElementById("p"+i+"1")


Еще разок: Имя, getElementById.

Комментарии?

Спустя 3 часа, 1 минута, 46 секунд (29.05.2009 - 11:52) FatCat написал(а):
Цитата (glock18 @ 29.05.2009 - 08:50)
Цитата
Имя у каждого чекбокса свое, то есть p11, p21, p31 и т.д.

Сорри, не заметил.
Тогда по идее строка
Код
eval('temp_id = "p"+'i'+"1";');
при значении i=1 отработает как
Код
temp_id = "p11";


Соответственно, следующая строка
Код
document.getElementById(temp_id)
отработает как
Код
document.getElementById("p11")


Для проверки попробуйте после первой строки
Код
alert(temp_id)

Спустя 9 часов, 8 минут, 17 секунд (29.05.2009 - 21:00) Гость_hara написал(а):
офигеть,
а ответ был во втором посте...
хоть бы ответы читали
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.