Чуть не охренел

A1x

Новичок
Чуть не охренел

Постоянно в ИЕ6 вылазила ошибка джаваскрипта откуда-то из глубин prototype, etc.
с обычной #%$$# ие6-ской информативностью типа - line 4570 letter 2 - The object does not support this method
(в остальных браузерех все как всегда нормально)

После пол-дня медитаций и переставляния местами букв кода выяснилась причина
Код:
<input type="text" name="tagName" ...
Ж8-[] (иду спать почему-то довольный как слон)
 

.des.

Поставил пиво кому надо ;-)
Поставьте себе уже js отладчик для IE.
 

pilot911

Новичок
есть такое - в ИЕ нельзя использовать зарезервированные слова в названии
 

A1x

Новичок
ага, из-за того что tagName является аттрибутом DOM, так что не наступайте на эти грабли.
Отладчик стоит уменя, но он показал только строку в какой вылезла ошибка

tagName = element.tagName.toUpperCase(), property, value;

как-то не очень помогло, а ничего больше он не показывает типа какого-то стека-вызова чтоли. а яваскриптов на странице около 10к строк

-~{}~ 13.02.10 22:29:

.des.
а какой используете отладчик?
 

newARTix

Новичок
наверное из той же оперы, хотя гораздо более очевидно, неадекватная реакция браузеров на такое:
<input type="submit" name="submit" />
Сооветственно form.submit подменяется элементом и не работает. В общем с name надо быть всегда на чеку.
 

x-yuri

Новичок
а можно подробнее, потому что вот этот код работает (правда ietester):

Код:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<body>

<input id="asd" type="text" name="tagName">
<script type="text/javascript">
var el = document.getElementById('asd');
alert( el.tagName.toUpperCase() );
</script>

</body>
</html>
 

A1x

Новичок
x-yuri имя инпута tagName будет конфликтовать с свойством tagName содержащей его формы а не с tagName самого инпута
Код:
<form id="theForm" action="test.php">
    <input type="text" name="tagName" />
</form>
<script type="text/javascript">
    var f = document.getElementById('theForm');
    alert('tag: '+f.tagName.toUpperCase());
</script>
 

x-yuri

Новичок
ага, пасибо. Только оно ж так во всех версиях ie, не только в 6-ой
 

A1x

Новичок
да и в фаерфоксе тоже) не знаю даже как воспроизвести в чистом виде чтобы ошибка появлялась только в ие6
 

dimagolov

Новичок
Раньше (по-моему в версии 2.x FF) не создавал ссылок на DOM элементы в window['element_id'] & window['element_name']. Но начиная с версии то ли 3.0 то ли 3.5 он стал это делать и приколы с левыми именами/id начали выходить боком не только в IE, но и в FF, хотя некоторый древний JS софт, который ожидал такого поведения, стал работать.
 
Сверху