在Javascript中使用PHP变量将无法正常工作

时间:2013-11-11 12:52:38

标签: javascript php html

我的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设置为“在线”。 我在这做错了什么?

2 个答案:

答案 0 :(得分: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>

答案 1 :(得分: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文件。