Проблема вызова функции js из php - PullRequest
1 голос
/ 09 июля 2009

Я использую свой php для вызова функции js следующим образом:

<?php 
$chk=1;
if($chk==1)
{
    echo '<script>testing();</script>';
}
?>

и мой JS выглядит так:

function testing()
{
   document.getElementById("mainbody").innerHTML="This is my first JavaScript!";
}

js - это внешний js-файл.

Мой HTML выглядит так:

<html>
<head>
<script src="qotw.js"></script>
</head> 
    <body>
    <div id="mainbody"></div>     
    </body>
</html>

но это не работает. Что я делаю не так здесь? Пожалуйста, скажи мне, если знаешь.

Лучший Zeeshan

Ответы [ 3 ]

7 голосов
/ 09 июля 2009

Вы запускаете скрипт до того, как div, на который вы нацелены, существует, поэтому вызов document.getElementById возвращает ложное значение вместо HTMLElementNode.

Вам нужно либо переместить элемент script, чтобы он находился после div, либо назначить функцию обработчику событий (например, onload), чем вызывать его напрямую.

Это не имеет ничего общего с использованием PHP.

Кстати, ваш HTML недействителен и вызывает режим причуд .

1 голос
/ 09 июля 2009

Попробуйте проверить следующее по порядку:
первое: ваш скрипт называется

<script type="text/javascript">alert("hello");testing();</script>

секунда: функция вызывается

function testing() {
    alert('inside testing');
}

третье: как предложено выше,

if (document.getElementById("mainbody") == null) alert('yep, its null');

тогда дайте нам знать результаты

1 голос
/ 09 июля 2009

Убедитесь, что «test» не вызывается над «mainbody» в коде, потому что тогда код будет запускаться в точке во время загрузки, когда объект не существует.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...