PHP javascript aramak için açılamıyor

2 Cevap php

Bir düğmeye tıklayarak bu Javascript denir:

var xmlhttp;
function register()
{   
    xmlhttp=GetXmlHttpObject();
    alert("pass");
    if(xmlhttp==null)
    {
        alert("Your browser does not support AJAX!");
        return;
    }
    var url="register.php";
    url=url+"?id="+uniqueid+"&name="+name+"&passwrd="+passwrd1+"&email="+email;
    xmlhttp.onreadystatechange=statechanged;
    xmlhttp.open("GET", url, true);
    xmlhttp.send(null); 
}

function statechanged()
{
    //alert("statechanged function");
    if(xmlhttp.readyState==4)
    {
        //alert(xmlhttp.responseText);
        document.getElementById("response").innerHTML=xmlhttp.responseText;
    }
}

function GetXmlHttpObject()
{
    if(window.XMLHttpRequest)
    {
        return new XMLHttpRequest();
    }
    if(window.ActiveXObject)
    {
        return new ActiveXObject("Microsoft.XMLHTTP");
    }
    return null;
}

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

Ve sonra bu PHP komut dosyası denir:

<?php
    echo "<script type=\"text/javascript\">testing();</script>";
?>

HTML mainbody ve response ID'si ile iki DIV etiketleri vardır:

<HTML>
<HEAD>
<SCRIPT SRC=javascriptname.js></SCRIPT>
</HEAD>
<BODY>
  <DIV ID=mainbody>
     <DIV ID=response>
     </DIV>
  </DIV>
</BODY>
</HTML>

I am unable to call the javascript from my php. If anyone know what I am doing wrong or has an idea what I should do, it will be very helpful.

2 Cevap

Ben bir nesnenin innerHTML değişen ve bir script ateşlenmesine neden olur ekleme sanmıyorum. Ben kesinlikle bu davranışına bağlı istemem.

Neden sadece (örneğin bir vaka açıklamada,) responseText üzerindeki dize karşılaştırma çeşit yapmak ve daha sonra uygun işlevini çağırmak değil?

EDIT: Ayrıca komut dosyası etiketlerini kaldırmak ve responseText üzerinde eval diyoruz, ama eval dünyanın en güzel işlevi değildir olabilir.

Ben başarılı bir dize içinde komut dosyası etiketleri geçirerek yaptık

Örnek:

<?php
function outputResults($var1)
{
   $jsStringOut = "
   <script type='text/javascript'>
      document.write('".$var1."');
   </script>
   ";

   return $jsStringOut;
}

echo outputResults("Hello Stackers");
?>