Начальное входное значение в Javascript - PullRequest
0 голосов
/ 06 ноября 2011

У меня есть страница, которая генерируется динамически через URL (метод GET). Эта динамическая страница генерирует среди множества других вещей следующую строку HTML:

<input type='hidden' name='device' id='device' value='abcd' />

Я также загружаю несколько функций javascript, и я хочу, чтобы одна из них могла прочитать начальное значение «устройства», однако, похоже, что она не может прочитать начальное значение при начальной загрузке страницы. Он прочитает его, если функция javascript снова будет запущена после загрузки страницы.

Я использую следующий код в моем файле .js

jQuery(document).ready(function(){
    var device = jQuery('#device').val();
});

При отладке на начальном устройстве загрузки страницы просто устанавливается значение «undefined». У кого-нибудь есть идеи? Спасибо.

Brian

Ответы [ 2 ]

1 голос
/ 06 ноября 2011

Если вы загружаете эти функции JavaScript вместе с HTML, который вы получаете в ответ на запрос AJAX - возможно, к моменту, когда ваш JS выполнит этот код:

jQuery(document).ready(function(){
    var device = jQuery('#device').val();
});

это относится к существующему DOM? Если вы не перезагрузите ваш body - я не увижу это событие, когда вы вставляете полученный HTML в существующий DOM.

1 голос
/ 06 ноября 2011

Это означает, что элемент не доступен к тому времени, когда вы ищете его значение, вы можете использовать событие onload или поставить свой скрипт перед тегом </body>.

Это должно работать:

$(window).load(function(){
  var device = jQuery('#device').val();
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...