2017-06-17 5 views
0

次のHTML/JavaScriptコードは、問題を起こさずに背景画像をdivに挿入します。PHPでJavaScriptコードを実行する方法

私は私が書いたPHPコードからそのスクリプトをJS実行する必要が
<!DOCTYPE html> 
<html lang = "en"> 
<head> 
    <title>to-forum.html</title> 
    <script> 
    function ChangeImage(param) 
    { 
     return("http://localhost/images/greensilver.gif"); 
    } 
    </script> 
</head> 
<body> 
    <div id="logo" style = "height:400px; width:400px";> 
    <script> 
     var xyz = ChangeImage(); 
     document.getElementById("logo").style.backgroundImage = "url('" + xyz + "')"; 
    </script> 
    </div> 
</body> 
</html> 

:第二の符号付き

<!DOCTYPE html> 
<html lang = "en"> 
<head> 
    <script> 
    function ChangeImage(param) 
    { 
     return("http://localhost/tlushim/images/greensilver.gif"); 
    } 
    </script> 
</head> 
<body> 
    <div id="logo" style = "height:400px; width:400px";> 
    <?php 
     echo '<script>', 
     'var xyz = ChangeImage"('" + 1 + "')";', 
     'document.getElementById"('" + logo +"')".style.backgroundImage = "url('" + xyz + "')";', 
     '</script>' 
    ?> 
    </div> 
</body> 
</html> 

を、私はこの時間が必要な背景画像は表示されませんでした/以下ラッキーでした、おそらく、 PHPからJSコードを実行する方法はわかりません。 誰も助けてくれませんか? ありがとう

+0

JSコードはPHPファイルで実行できません。 PHPはサーバ上で動作し、JSはクライアントのブラウザ上で動作します。あなたのロゴ要素に 'style =" background-image:url(...); height:... "'を追加できませんでしたか? – PeterMader

+0

ありがとうございます。私はもうPHPからJSを実行しません。これは間違いです! –

答えて

-1

コードが実行されても要素がロードされないため、何も起こりません。

使用あなたの関数の周り

document.onload=function(){...}; 

のようなもの。

+0

質問のコードはjQueryを使用していません。 – duskwuff

+0

あなたの権利。それを編集しました。 – derHugo

0
<?php 
    echo '<script>', 
    'var xyz = ChangeImage"('" + 1 + "')";', 
         ^

上記の一重引用符は、PHP文字列を終了します。それに続く二重引用符は予期しないものであり、構文エラーが発生します。

PHPを使用してJavascriptコードをエコーアウトするのは意味がありません。あなたが主張しているのであれば、引用符の問題を避けるために文字列構文を使用することができます:

<?php echo <<<EOS 
<script> 
    var xyz = ChangeImage(); 
    document.getElementById("logo").style.backgroundImage = "url('" + xyz + "')"; 
</script> 
EOS; 
?>