【发布时间】:2014-05-02 18:12:39
【问题描述】:
我有一个在 php.ini 中定义的表单中存在潜在错误的表单。我使用 javascript 根据是否存在错误来更改表单操作。我已经使用 json_encode 转换了 php 错误变量 $errors,所以我可以在 javascript 中使用它。在 Firefox 中运行该文件我在 Firebug 中收到以下错误:
语法错误:缺失;
before 语句 var errors = "{"firstnameErr:......etc},指针指向 firstnameErr 中的字母 f。看起来我在 json_encode 对象中有错误。
这里是javascript:
<script type = "text/javascript">
function switchFormAction() {
var errors = [];
var errors = "<?php echo json_encode($errors); ?>";
if(!empty(errors)) {
alert("Please correct these errors");
}
else {
var element = document.getElementById("regForm");
element.setAttribute("action", "serraInsertForm.php");
return true;
}
}
window.onload = function() {
document.getElementById("regForm").onsubmit = function()
switchFormAction();
}
</script>
可能是一些简单的事情,但我无法解决。 Javascript 和 json 对我来说是新的。 感谢 stackoverflow 提供的任何帮助。
【问题讨论】:
-
当你回显
$errors时,json_encode很可能输出双引号。 -
试试
var errors = '<?php echo json_encode($errors); ?>'; -
另外,javascript 没有
empty函数,除非你自己在某个地方编写并定义了它。 -
var errors = "{"first...绝对不是有效的语法。正确使用双引号。 -
document.getElementById("regForm").onsubmit = function()这行也会给你带来问题
标签: javascript php json