Php 非常简单的javascript失败了
工作示例: 这与我在页面其他地方使用的代码几乎相同,但由于某些原因在这里失败Php 非常简单的javascript失败了,php,javascript,Php,Javascript,工作示例: 这与我在页面其他地方使用的代码几乎相同,但由于某些原因在这里失败 <?php //$p = "test"; ?> <script> alert('posts are firing? '); parent.document.getElementById('posts').innerHTML = "test"; </script> 警报(发射柱?); parent.document.getElementById('posts').innerHTM
<?php
//$p = "test";
?>
<script>
alert('posts are firing? ');
parent.document.getElementById('posts').innerHTML = "test";
</script>
警报(发射柱?);
parent.document.getElementById('posts').innerHTML=“test”;
失败示例:(警报仍然有效)
警报(发射柱?);
parent.document.getElementById('posts')。innerHTML='';
调试101:开始检查所有变量值
alert(parent);
alert(parent.document);
alert(parent.document.getElementById('posts'));
以及所呈现的值:'
尝试
'<?php echo $p; ?>';
”;
或
”;
在使用javascript填充之前,请确保加载“posts”对象(我猜它是DIV或SPAN)。您试图用php生成javascript,这里我使用一个简单的echo:
<?php
$p = "test of the var";
echo"
<div id='posts'></div>
<script type='text/javascript'>
var posts = document.getElementById('posts');
posts.innerHTML = '$p';
</script>
";
?>
您没有输出变量数据,这就是它不工作的原因。您需要回显或打印变量$p。在您的示例中,正在计算$p,而不是打印
要打印它,您应该使用print、echo或语法。如果可能的话,如果没有\,您应该使用json\u encode
。记住:您必须在php.ini文件中启用short\u标记,这就是为什么我提供了两行:-)
'<?= $p ?>';
<?php
$p = "test of the var";
echo"
<div id='posts'></div>
<script type='text/javascript'>
var posts = document.getElementById('posts');
posts.innerHTML = '$p';
</script>
";
?>