Javascript.RU

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

Как занести ссылку на элемент HTML
Здравствуйте Всем.
Есть вопрос:
Как занести в переменную ссылку на элемент HTML
link = document.getElementById('ID');

Надо чтобы эта ссылка была доступна во всём сценарии JS, то есть в функциях и так далее. Помогите у меня пока не получается.
Ответить с цитированием
  #2 (permalink)  
Старый 12.06.2010, 18:59
Профессор
Отправить личное сообщение для exec Посмотреть профиль Найти все сообщения от exec
 
Регистрация: 21.01.2010
Сообщений: 1,022

Она и так доступна, если не объявлять переменую внутри замыкания.
Ответить с цитированием
  #3 (permalink)  
Старый 12.06.2010, 19:47
Интересующийся
Отправить личное сообщение для Dima00782 Посмотреть профиль Найти все сообщения от Dima00782
 
Регистрация: 12.06.2010
Сообщений: 18

Почему тогда не получается так:
a = document.getElementById('ID');
alert(a.value)

??
Ответить с цитированием
  #4 (permalink)  
Старый 12.06.2010, 19:56
Профессор
Отправить личное сообщение для exec Посмотреть профиль Найти все сообщения от exec
 
Регистрация: 21.01.2010
Сообщений: 1,022

Значит, у элемента нет value.
Ответить с цитированием
  #5 (permalink)  
Старый 12.06.2010, 21:43
Интересующийся
Отправить личное сообщение для Dima00782 Посмотреть профиль Найти все сообщения от Dima00782
 
Регистрация: 12.06.2010
Сообщений: 18

Это input и у него точно есть значение. Сколько раз делал не выходит! Хотя так работает прекрасно работает:
a = document.getElementById('ID').value
alert(a);
Ответить с цитированием
  #6 (permalink)  
Старый 13.06.2010, 19:42
Интересующийся
Отправить личное сообщение для Dima00782 Посмотреть профиль Найти все сообщения от Dima00782
 
Регистрация: 12.06.2010
Сообщений: 18

Если у кого-то такое получилось, то скиньте плиз работающий код. Кокретно для input type=text
Ответить с цитированием
  #7 (permalink)  
Старый 14.06.2010, 08:45
Профессор
Отправить личное сообщение для exec Посмотреть профиль Найти все сообщения от exec
 
Регистрация: 21.01.2010
Сообщений: 1,022

<input type="text" id="inp" value="Text" />
<script type="text/javascript">
	var a = document.getElementById('inp');
	alert(a.value);
</script>


Не знаю, через какой браузер вы смотрите, но у меня на опере 10.5 всё прекрасно работает. Да и на остальных тоже должно, ошибаться-то там негде.
Ответить с цитированием
  #8 (permalink)  
Старый 14.06.2010, 09:53
Интересующийся
Отправить личное сообщение для Dima00782 Посмотреть профиль Найти все сообщения от Dima00782
 
Регистрация: 12.06.2010
Сообщений: 18

....
<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');

НИХРЕНА НЕ РАБОТАЕТ, ни в Опере ни в Лисе и др.
Понимаю что это воообще легкотня и основы, но почему -то упрямо не работает.
Ответить с цитированием
  #9 (permalink)  
Старый 14.06.2010, 10:18
Профессор
Отправить личное сообщение для exec Посмотреть профиль Найти все сообщения от exec
 
Регистрация: 21.01.2010
Сообщений: 1,022

Когда браузер прочитал 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
Ответить с цитированием
  #10 (permalink)  
Старый 14.06.2010, 19:22
Интересующийся
Отправить личное сообщение для Dima00782 Посмотреть профиль Найти все сообщения от Dima00782
 
Регистрация: 12.06.2010
Сообщений: 18

Отлично, спасибо всё работает. Я использовал onDOMContentLoaded. Но к сожалению код стал огромным .
P.s. пишу сам AJAX и понимаю для чего придумали jQuery. Хоть я и являюсь его ярым противником.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать ссылку для скачивания html файла m-mikle Общие вопросы Javascript 26 19.01.2015 18:04
Как узнать содержит ли DOM определенный элемент Ruslan Events/DOM/Window 8 12.03.2010 22:02
как привязать ссылку с Html страницы на вынесенный в отдельную папку js скрипт? TIIIMOXAN Общие вопросы Javascript 2 09.11.2009 19:23
имея this как удалить элемент из тела html clgs Общие вопросы Javascript 1 13.05.2009 17:55
Как постоянно запускать одну и туже ссылку? Maxim Общие вопросы Javascript 28 27.02.2009 09:25