Javascript.RU

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

раскрывающийся список не работает при doctype в mozilla firefoxe
Здравстуйте, подскажите пожалуйста, как поправить скрипт раскрывающего и закрывающего списка чтобы, он начал работать в firefox вместе с "doctype". В остальных браузерах работает, в firefox выдает ошибку "document.all is undefined"

<div class="content">
<? if (!$_GET['mid']) {

$rez=mysql_query("select * from ".$prefix."SS_categories order by opis_rus asc");
while($ar=mysql_fetch_assoc($rez)) {
$arcats[]=$ar;
}

for ($i=0;$i<sizeof($arcats);$i++) {

$cats=$arcats[$i];

echo '<a name="cat'.$cats["categoryID"].'"></a>';
echo '<p><a href="#cat'.$cats["categoryID"].'" onclick="javascript:if ( document.all.lay'.$i.'.style.display == \'none\' )
document.all.lay'.$i.'.style.display = \'\';
else
document.all.lay'.$i.'.style.display = \'none\';
"><h2>'.$cats['name']."</h2></a></p>\n";
echo "<div id='lay".$i."' style='display:".($cats["categoryID"]==$_GET['catid'] ? 'block' : 'none')."'>\n";
$rez=mysql_query("select * from ".$prefix."SS_products where categoryID=".$cats["categoryID"]." order by name asc");

...

}
?>
</div>

Последний раз редактировалось dimwolf, 04.10.2011 в 12:45.
Ответить с цитированием
  #2 (permalink)  
Старый 03.10.2011, 20:31
Аватар для yashka525
Mr. Jacob
Отправить личное сообщение для yashka525 Посмотреть профиль Найти все сообщения от yashka525
 
Регистрация: 20.01.2011
Сообщений: 194

0_о зачем столько кода? Тем более PHP, когда Вы спрашиваете про JS?

Пожалуйста, локализуйте проблему!

Выделите фрагмент кода, по которому есть вопрос и опубликуйте его отдельно.

И, по возможности, уберите из кода мусор, чтобы нам легче было сориентироваться и помочь решить проблему.

Спасибо.

P.S. код форматируют специальные теги [ js ] ... [/js], [ html ] ... [/html] и другие аналогичные, сам. http://javascript.ru/formatting
Ответить с цитированием
  #3 (permalink)  
Старый 04.10.2011, 12:46
Новичок на форуме
Отправить личное сообщение для dimwolf Посмотреть профиль Найти все сообщения от dimwolf
 
Регистрация: 03.10.2011
Сообщений: 5

dimwolf,
переделал, красным выделил где проблема
Ответить с цитированием
  #4 (permalink)  
Старый 04.10.2011, 14:08
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,121

Сообщение от dimwolf
красным выделил где проблема
Как вариант, вместо пустышки

document.all.lay'.$i.'.style.display = '';


таки что-то прописать в display... Например...

document.all.lay'.$i.'.style.display = 'block';
Ответить с цитированием
  #5 (permalink)  
Старый 04.10.2011, 14:23
Новичок на форуме
Отправить личное сообщение для dimwolf Посмотреть профиль Найти все сообщения от dimwolf
 
Регистрация: 03.10.2011
Сообщений: 5

Сообщение от ksa Посмотреть сообщение
Как вариант, вместо пустышки

document.all.lay'.$i.'.style.display = '';


таки что-то прописать в display... Например...

document.all.lay'.$i.'.style.display = 'block';
не помогло
Я думаю надо вместо document.all прописать document.getElementById, но как это правильно сделать? подскажите!
Ответить с цитированием
  #6 (permalink)  
Старый 04.10.2011, 14:45
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,121

Сообщение от dimwolf
Я думаю надо вместо document.all прописать document.getElementById, но как это правильно сделать?
А где там ИД?

Общий синтаксис такой

document.getElementById('нужный_ИД').style.display='значение'
Ответить с цитированием
  #7 (permalink)  
Старый 04.10.2011, 15:01
Новичок на форуме
Отправить личное сообщение для dimwolf Посмотреть профиль Найти все сообщения от dimwolf
 
Регистрация: 03.10.2011
Сообщений: 5

Сообщение от ksa Посмотреть сообщение
А где там ИД?

Общий синтаксис такой

document.getElementById('нужный_ИД').style.display='значение'
может так
document.getElementById('lay".$i."').style.display='значение'



но так тоже не работает , значит lay".$i." не ИД, тогда как заставить работать document.all в firefox вместе с doctype (без doctype работает)?
Ответить с цитированием
  #8 (permalink)  
Старый 04.10.2011, 15:08
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,121

dimwolf, что вообще известно про тот элемент?
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
при создании ссылки не работает thickbox czar jQuery 3 13.04.2009 14:25
Не работает element.scrollLeft в IE при указанном doctype andruhon Internet Explorer 1 23.12.2008 12:41
DatePicker не работает при сипользование innerHTML AJlekceu jQuery 2 26.10.2008 17:49
FireFox: onmouseover не работает при зажатой кнопке мыши no. Общие вопросы Javascript 4 19.08.2008 13:43
При первом клике список не раскрывается. lancer Элементы интерфейса 1 30.03.2008 17:24