-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

1

你确定,你在 PHP 文件中有那个 JS 吗?它不是JS文件吗?这就是它有价值的原因"'? php echo $result; ?> ';"

所以它的index.html. 你确定你的 PHP 接受这个扩展作为 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>
于 2013-11-11T13:00:19.987 回答
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 回答