Событие onload выдает ошибку «объект ожидается» - PullRequest
0 голосов
/ 13 сентября 2011

Всякий раз, когда я использую событие, я получаю ошибку javascript, говорящую «объект ожидается», указывающий на строку, содержащую событие onloadВот простое представление моей веб-страницы.

<html>
<head>
  <script type='text/javascript' src='myScript.js'>
    //script containing doSomething()
  </script>
</head>
<body onload = "doSomething('stringArg', 0);"> //<--does not execute, throws error, EDITED for proper quotation

//body of site

<script type='text/javascript'>
  //test call
  doSomething('stringArg', 0); //<--executes just fine, no errors
</script>
</body>
</html>

Ответы [ 2 ]

5 голосов
/ 13 сентября 2011

Вы используете одинарные кавычки для всего, поэтому парсер считает, что ваш атрибут заканчивается после 'doSomething('

Используйте двойные кавычки, чтобы избежать путаницы

<body onload = "doSomething('stringArg', 0);">

Надеюсь, вас не смущает, но в javascript кавычки более или менее взаимозаменяемы, так что вы также можете поменять их местами:

<body onload = 'doSomething("stringArg", 0);'>

Они просто не могут быть одинаковыми.

0 голосов
/ 13 сентября 2011

У вас есть синтаксическая ошибка (из-за одинарных кавычек, используемых как для строкового литерала, так и для значения атрибута). Попробуйте это:

<body onload = "doSomething('stringArg', 0);">
...