从php代码在JavaScript变量中插入值
我试图测试以下代码,以便将php代码中的值插入到javascript变量x中 测试了php代码并给出了正确的输出,但javascript中的警报框显示: 日期、间隔1天、活动=1组,代码b>1000$query=mysql\u query$myquery;如果$myquery{echo mysql_error;die;}$data=array;对于$x=0$x从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; } 测
您需要插入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;