Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 非常简单的javascript失败了_Php_Javascript - Fatal编程技术网

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,而不是打印


要打印它,您应该使用printecho或语法。如果可能的话,如果没有\

,您应该使用
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>
";

?>