Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.04.2010, 22:30
Аспирант
Отправить личное сообщение для Василий Б. Посмотреть профиль Найти все сообщения от Василий Б.
 
Регистрация: 01.03.2010
Сообщений: 44

Почему код работает? (обращение к форме из window)
<FORM id='auth' action='http://mail.ru' method=post> 
<INPUT type=hidden name=aaa value=1> 
</FORM>

<script>auth.submit();</script>


Как объясняется работа данного кода? Разве обращение к форме не должно производиться через коллекцию? Почему объект формы находится в области window? Не понятно...
Ответить с цитированием
  #2 (permalink)  
Старый 20.04.2010, 22:53
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

http://javascript.ru/tutorial/dom/search#poisk-po-id
Ответить с цитированием
  #3 (permalink)  
Старый 20.04.2010, 23:07
Аспирант
Отправить личное сообщение для Василий Б. Посмотреть профиль Найти все сообщения от Василий Б.
 
Регистрация: 01.03.2010
Сообщений: 44

Octane,
ну то что к элементу можно обращаться по getElementById я в курсе. меня интересует, почему вышеприведенный код работает?
Ответить с цитированием
  #4 (permalink)  
Старый 20.04.2010, 23:11
Аватар для Nekromancer
Профессор
Отправить личное сообщение для Nekromancer Посмотреть профиль Найти все сообщения от Nekromancer
 
Регистрация: 06.05.2009
Сообщений: 1,163

Работает и слава богу. Это вот такая дополнительная возможность от браузеров, бонус пак
__________________
Нужно равняться на лучших, а не оправдываться за счёт худших.
Ответить с цитированием
  #5 (permalink)  
Старый 20.04.2010, 23:18
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Обычно спрашивают: «Почему не работает?»

В Firefox такой способ обращения к элементам будет работать только в Quirks Mode, как только добавите на страницу DOCTYPE, то браузер перейдет в Standards Compliant Mode, и поиск элемента по идентификатору станет возможным только с помощью getElementById.
Ответить с цитированием
  #6 (permalink)  
Старый 20.04.2010, 23:26
Аспирант
Отправить личное сообщение для Василий Б. Посмотреть профиль Найти все сообщения от Василий Б.
 
Регистрация: 01.03.2010
Сообщений: 44

Цитата:
В Firefox такой способ обращения к элементам будет работать только в Quirks Mode
да, действительно, спасибо

Цитата:
поиск элемента по идентификатору станет возможным только с помощью getElementById.
Ну по старинке тоже работает:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head><title>Untitled</title></head><body>

<FORM id='auth' action='http://mail.ru' method=post> 
<INPUT type=hidden name=Login value=1> 
</FORM>
<script>document.forms.auth.submit();</script> 

</body></html>
Ответить с цитированием
  #7 (permalink)  
Старый 20.04.2010, 23:31
Аватар для Nekromancer
Профессор
Отправить личное сообщение для Nekromancer Посмотреть профиль Найти все сообщения от Nekromancer
 
Регистрация: 06.05.2009
Сообщений: 1,163

Так вообще то по имени должно находить, а так как вы это не по старинке, а тоже по бонус паку.
__________________
Нужно равняться на лучших, а не оправдываться за счёт худших.
Ответить с цитированием
  #8 (permalink)  
Старый 20.04.2010, 23:39
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Сообщение от Nekromancer
тоже по бонус паку
Нет, document.forms, links, frames и images из стандарта DOM Level 1.
Ответить с цитированием
  #9 (permalink)  
Старый 20.04.2010, 23:43
Аспирант
Отправить личное сообщение для Василий Б. Посмотреть профиль Найти все сообщения от Василий Б.
 
Регистрация: 01.03.2010
Сообщений: 44

Сообщение от Nekromancer Посмотреть сообщение
Так вообще то по имени должно находить, а так как вы это не по старинке, а тоже по бонус паку.
Ну смотря что считать бонус-паком..

Насколько я понимаю, объектная модель броузера BOM всегда содержала иерархию объектов вида

window->document->forms

и естественно меня смутило, что вызов

auth.submit()
работает, ибо логически это не должно работать. Что делает объект формы в области объекта окна??
Ответить с цитированием
  #10 (permalink)  
Старый 21.04.2010, 00:00
Аватар для subzey
Пионэр
Отправить личное сообщение для subzey Посмотреть профиль Найти все сообщения от subzey
 
Регистрация: 16.11.2009
Сообщений: 1,322

Сообщение от Василий Б.
Как объясняется работа данного кода?
У Вас браузер слишком добрый. :3
Ответить с цитированием
Ответ


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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Почему не работает document.getElementById() giGnet Events/DOM/Window 3 18.04.2010 14:30
Не работает код из внешнего файла в IE6 Petka jQuery 2 03.03.2010 16:09
Почему не работает код? JSprog Общие вопросы Javascript 4 16.08.2009 14:39
Обращение к форме октрытого окна SparkDSD Events/DOM/Window 3 27.02.2009 14:02
Код не работает в седьмом Эксплорере... vol4ara Общие вопросы Javascript 0 14.07.2008 18:53