Как занести ссылку на элемент HTML
Здравствуйте Всем.
Есть вопрос: Как занести в переменную ссылку на элемент HTML link = document.getElementById('ID'); Надо чтобы эта ссылка была доступна во всём сценарии JS, то есть в функциях и так далее. Помогите у меня пока не получается. |
Она и так доступна, если не объявлять переменую внутри замыкания.
|
Почему тогда не получается так:
a = document.getElementById('ID'); alert(a.value) ?? |
Значит, у элемента нет value.
|
Это input и у него точно есть значение. Сколько раз делал не выходит! Хотя так работает прекрасно работает:
a = document.getElementById('ID').value alert(a); |
Если у кого-то такое получилось, то скиньте плиз работающий код. Кокретно для input type=text
|
<input type="text" id="inp" value="Text" /> <script type="text/javascript"> var a = document.getElementById('inp'); alert(a.value); </script> Не знаю, через какой браузер вы смотрите, но у меня на опере 10.5 всё прекрасно работает. Да и на остальных тоже должно, ошибаться-то там негде. |
.... <body onload="alert(author_link.value);"> .... <label for="author">Имя</label> <input id="author" value="TEXT" type="text" class="txt" tabindex="1" size="22" name="author" /> ... // отдельный файл JS var author_link = document.getElementById('author'); НИХРЕНА НЕ РАБОТАЕТ, ни в Опере ни в Лисе и др. Понимаю что это воообще легкотня и основы, но почему -то упрямо не работает. |
Когда браузер прочитал JS-файл, он ещё не "дошёл" до вашего поля и поэтому выдаёт undefined (ну или вообще Error).
Правильно будет так: <body onload="alert(author_link().value);"> … <input id="author" value="TEXT" type="text" class="txt" tabindex="1" size="22" name="author" /> <!-- Тут ваш файл JS. В нём пишите: function author_link() { return document.getElementById('author'); } --> Или же можно воспользоваться событием onDOMContentLoaded |
Отлично, спасибо всё работает. Я использовал onDOMContentLoaded. Но к сожалению код стал огромным :(.
P.s. пишу сам AJAX и понимаю для чего придумали jQuery. Хоть я и являюсь его ярым противником. |
Часовой пояс GMT +3, время: 12:07. |