Sorun php bir js işlevi çağırmadan

3 Cevap php

Ben böyle bir js işlevi çağırmak için benim php kullanıyorum:

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

ve benim js gibi görünüyor:

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

Js harici bir js dosyasıdır.

Benim html gibi görünüyor:

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

but this is not working. What am i doing wrong over here? Please tell me if you know.

Best Zeeshan

3 Cevap

Try testing the following in order:
first: Your script is being called

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

İkinci: işlevi denir ediliyor

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

Üçüncü: Yukarıda belirtildiği gibi,

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

sonra bize sonuçları bildirin

Eğer hedeflediğiniz div var olmadan önce komut dosyasını çalıştırın, böylece document.getElementById çağrısı yanlış bir değer yerine bir HTMLElementNode döndürür.

Bunu div sonra yani script eleman taşımak gerekir, ya da yerine çağırarak bir olay işleyicisi (onload örneğin) için fonksiyon atamak ya doğrudan.

Bu PHP kullanımı ile ilgisi yoktur.

Bu arada, HTML invalid ve tetikleyiciler olan quirks mode.

Daha sonra kod nesne yok yük sırasında bir noktada çalıştırmak olacaktır çünkü 'test' kod 'mainbody' yukarıdaki denir olmadığından emin olun.