-4

HTML ドキュメントに次のコードがあります。

HTML

<span id="indicator" class="label label-success">Online</span>

JS/PHP

<?php $result=1; ?>    <!-- Just for testing -->
<script type='text/javascript'>
  var status = '<?php echo $result; ?>';
    window.onload=function(){
    var ind=document.getElementById('indicator');
    if(status==1){
       ind.innerHTML='Online';ind.className='label label-success';
    }else{
       ind.innerHTML='Offline';ind.className='label label-danger';}
    }
</script>

しかし、何も起こりません。Firebug を使用してデバッグすると、変数 "status" が "1" ではなく、"' ? php echo $result; ?>';" になっているようです。したがって、内部 HTML が「オンライン」に設定されることはありません。ここで何が間違っていますか?

4

2 に答える 2

0

そして、PHP で .js ファイルを処理していますか? そうでない場合は、次のようにします。

<?php
  header('Content-type: application/javascript');
  $result = 1;
?>

<script type='application/javascript'>
  var status = <?php echo $result; ?>;
  window.onload = function(){
    var ind = document.getElementById('indicator');
    if(status == 1) {
      ind.innerHTML = 'Online';
      ind.className = 'label label-success';
    } else {
      ind.innerHTML = 'Offline';
      ind.className = 'label label-danger';
    }
  }
</script>

そしてそれをjs_code.phpに保存し、それを次のように HTML ファイルにロードします

<script type="application/javascript" src="js_code.php"></script>

そして出来上がり!これで、最初に PHP によって処理された JavaScript ファイルができました。

于 2013-11-11T13:01:19.187 に答える