Javascript document.getElementById (arg) -object является нулевым или неопределенным - PullRequest
0 голосов
/ 07 октября 2011

У меня есть функция, которая устанавливает selected = true. У меня есть выпадающий список стран. Каждый вариант имеет идентификаторы, такие как США, GER ...

    function nation(arg) 
{
    if (arg == '<?php echo $this->escape($this->user->get( 'country' ));?>')
        document.getElementById(arg).selected = true;
}

window.onload = nation('<?php echo $this->escape($this->user->get( 'country' ));?>');

Я уверен, что php-код возвращает мне правильную страну, но отладчик javascript говорит:

SCRIPT5007: Unable to set value of the property 'selected': object is null or undefined 

В чем здесь проблема?

1 Ответ

3 голосов
/ 07 октября 2011

Вы вызываете nation немедленно , а затем присваиваете его возвращаемое значение onload, так что вы почти наверняка вызываете его до того, как <select> было добавлено в DOM.

Вам необходимо назначить функцию.

window.onload = function () {
    nation('<?php echo $this->escape($this->user->get( 'country' ));?>');
};
...