Ошибка JavaScript в Internet Explorer 6,7,8, "является нулем или не является объектом" - PullRequest
0 голосов
/ 21 августа 2011

, когда я запускаю свой index.php, он вызывает мой файл JavaScript, который имеет следующий код:

enter image description here

, когда приложение запускается немедленно, появляется эта ошибка:

enter image description here

, и это может произойти только в Internet Explorer, в index.php нет txtName, потому что.js вызывается для каждой страницы, есть ли способ улучшить эту функцию?мне не нужно вручную ставить js на каждой странице?

Кто-нибудь знает, как я могу решить эту проблему?Большое спасибо ...

Ответы [ 2 ]

4 голосов
/ 21 августа 2011

Обновление:

После обновленного вопроса - вы можете сначала проверить элемент

function focus(){
  var txtNameObj = document.getElementById('txtName');
  if(txtNameObj){
    txtNameObj.focus();
  }
}

Это должно избежать ошибки, поскольку она не определена.

Оригинал

Я могу только догадываться, что есть одна из двух проблем:

a.) Ваш DOM еще не загружен (поэтому, хотя этот идентификатор будет существовать, он еще не существует)

b.) У вас нет элемента с таким идентификатором.

Если элемент существует, обязательно вызывайте функцию фокуса только тогда, когда вы уверены, что элемент загружен. например Вы можете поместить его как тег сценария непосредственно перед закрытием тела.

    <script>
      focus();
    </script>
  </body>
</html>
2 голосов
/ 21 августа 2011

Почему вы не ставите условие для этого метода: В этом случае:

var iId = document.getElementById('txtName');
if(iId != null)
{
   // Processing
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...