Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/272.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变量中插入值_Javascript_Php_Mysql - Fatal编程技术网

从php代码在JavaScript变量中插入值

从php代码在JavaScript变量中插入值,javascript,php,mysql,Javascript,Php,Mysql,我试图测试以下代码,以便将php代码中的值插入到javascript变量x中 测试了php代码并给出了正确的输出,但javascript中的警报框显示: 日期、间隔1天、活动=1组,代码b>1000$query=mysql\u query$myquery;如果$myquery{echo mysql_error;die;}$data=array;对于$x=0$x 测试 功能测试{ var x=document.getElementByIdmyPhpValue.value; alertx; } 测

我试图测试以下代码,以便将php代码中的值插入到javascript变量x中

测试了php代码并给出了正确的输出,但javascript中的警报框显示:

日期、间隔1天、活动=1组,代码b>1000$query=mysql\u query$myquery;如果$myquery{echo mysql_error;die;}$data=array;对于$x=0$x

测试 功能测试{ var x=document.getElementByIdmyPhpValue.value; alertx; } 测验
您需要插入id=myPhpValue,因为您使用了getElementById

在html行中添加ID属性

echo '<input type="hidden" name="myPhpValue" value="'. json_encode($data) . '">';
将上述行替换为

echo '<input type="hidden" name="myPhpValue" id ="myPhpValue" value="'. json_encode($data) . '">';

您是在html中插入值,而不是在javascript代码中插入值。 这样做:

<script type="text/javascript">

function test(){
 var x = <?php echo json_encode($data); ?>;
 alert(x);  
}
test();

</script>
服务器配置问题 如果要确认客户端视图源代码上的php代码,那么php引擎在服务器上不工作。 您应该检查服务器上是否正确安装了php,并将其设置为web服务器中php文件的处理程序。 这取决于您的web服务器和操作系统

代码问题 问题1:输出echo正在创建HTML元素,而不是javascript。因此,您应该转义内容以供HTML使用,而不是

问题2:您使用javascript访问元素,但实际元素没有ID。因此需要将ID属性添加到html输入元素中

解决方案:

阶段1:php输出html-使用htmlspecialchars并添加id属性

echo '<input type="hidden" name="myPhpValue" id="myPhpValue" value="'. htmlspecialchars($data) . '">';
旁注 您正在使用扩展,应切换到或

在这一问题上,有许多关于SO和外部资源的讨论

只有几个:


您正在将值插入html,而不是javascript代码。因此,使用htmlspecialchars而不是json_encode,因为我正在将值插入javascript变量中。。我试了一个建议,它不起作用
<script type="text/javascript">

function test(){
 var x = <?php echo json_encode($data); ?>;
 alert(x);  
}
test();

</script>
echo '<input type="hidden" name="myPhpValue" id="myPhpValue" value="'. htmlspecialchars($data) . '">';
var x = document.getElementById("myPhpValue").value;