我有一个表格,在PHP中定义的形式有潜在的错误.我使用javascript来改变表单操作,具体取决于是否存在错误.我已经使用json_encode转换了php错误变量,$ errors,所以我可以在javascript中使用它.在Firefox中运行该文件我在Firebug中收到以下错误:
语法错误:缺失;
在语句之前var errors = "{"firstnameErr:......etc}
,指针位于firstnameErr中的字母f处.看起来我在json_encode对象中有错误.
这是javascript:
可能是一些简单但我无法解决的问题.Javascript和json对我来说都是新手.感谢stackoverflow可以提供的任何帮助.
var errors = "<?php echo json_encode($errors); ?>"; ^--- ^--
指示的引号不是必需的,实际上是导致问题的原因.json_encode()将生成将数据$errors
转换为语法上有效的Javascript 所需的任何引号/括号.你正在制作:
var errors = "{"somekey":"somevalue"}"; ^--start string ^--end string ^^^^^^^ undefined variable
所有你需要的是
var errors = <?php echo json_encode($errors); ?>;