[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Пробема с document.getElementById('').value в IE
rolling
IE матерится на строку

current_menu_open = document.getElementById('current_menu_open').value;


Чем ее можно заменить?



Спустя 1 минута, 49 секунд (29.04.2010 - 14:29) rolling написал(а):
точнее, ошибка следующая
"Сообщение: Объект не поддерживает это свойство или метод"

Спустя 3 минуты, 55 секунд (29.04.2010 - 14:33) Jinus написал(а):
А какой тег имеет ID = 'current_menu_open'?

Спустя 4 минуты, 19 секунд (29.04.2010 - 14:37) rolling написал(а):

<input type="hidden" value="0" id="current_menu_open" />


Спустя 1 час, 2 минуты, 1 секунда (29.04.2010 - 15:39) andyp написал(а):
Возможно что-то у Вас в документе еще есть или с id="current_menu_open" или с name="current_menu_open". Второе относится как раз к IE.
В IE getElementById(elementId) достает не только элементы с атрибутом id=elementId.
Но тогда должно было выдаться другое сообщение об ошибке.
Не переопределен ли вдруг document? Может ошибка выдается в следующей строчке?
Вообщем, информации для точного ответа недостаточно.

Спустя 7 часов, 18 минут, 32 секунды (29.04.2010 - 22:57) ZSH написал(а):
var current_menu_open = document.getElementById('current_menu_open').value;


матерится IE на знаки подчеркивания в переменной, если ее предопределить через var то матерится не будет

Спустя 1 час, 56 минут, 59 секунд (30.04.2010 - 00:54) andyp написал(а):
Неизвестно какой там остальной код, может переменная current_menu_open там и так локальная.

То есть, "определить через var" может тоже помочь, конечно не из-за знаков подчеркивания.
Из-за того, что элемент документа current_menu_open доступен по имени через переменную current_menu_open в глобальной области видимости и тогда alert(current_menu_open.value) выводит то же, что и
alert(document.getElementById('current_menu_open').value). ИЕ не позволяет таким переменным присваивать значения.


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

Спустя 1 час, 27 минут, 30 секунд (30.04.2010 - 02:22) FatCat написал(а):
Цитата (rolling @ 29.04.2010 - 15:37)
<input type="hidden" value="0" id="current_menu_open" />

Нейм забыли, вот и матерится.
<input type="hidden" value="0" name="current_menu_open" id="current_menu_open" />



А вообще, не следует к элементам формы обращаться по айдишнику, обращайтесь через коллекции по именам:
document.имя_формы.имя_элемента.value

Спустя 8 часов, 30 минут, 9 секунд (30.04.2010 - 10:52) andyp написал(а):
Name не помешает, но alert(document.getElementById('current_menu_open').value)
сработает правильно и без атрибута name

Спустя 5 часов, 35 минут, 28 секунд (30.04.2010 - 16:27) rolling написал(а):
всем спасибо, помогло
var current_menu_open; 


теперь возникла другая проблема: переменная статус получает null
status = document.getElementById('submenu_mine').style.display

Опять таки только в ИЕ.

Далее приблизительный код:
<div id="submenu_mine">
...
</div>
<a
href=# onclick="show_submenu()" />

function show_submenu()
{

status = document.getElementById('submenu_mine').style.display;
...

}



Спустя 23 минуты, 24 секунды (30.04.2010 - 16:51) ZSH написал(а):
Нужно установить display принудительно в style
<div id="submenu_mine" style="display: ......">

Спустя 12 минут, 51 секунда (30.04.2010 - 17:04) rolling написал(а):
Цитата (ZSH @ 30.04.2010 - 13:51)
Нужно установить display принудительно в style

В коде я этого не указал, но я так и делаю.

Спустя 16 минут, 18 секунд (30.04.2010 - 17:20) ZSH написал(а):
попробуй заменить имя переменной status или var перед ней

Спустя 19 дней, 17 часов, 56 минут, 16 секунд (20.05.2010 - 11:16) rolling написал(а):
Цитата (ZSH @ 30.04.2010 - 14:20)
попробуй заменить имя переменной status или var перед ней

помогло. спасибо.

Спустя 6 месяцев, 25 дней, 22 часа, 45 минут, 23 секунды (16.12.2010 - 11:02) ssss написал(а):
[move]aaaa
Быстрый ответ:

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