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