[英]javascript syntax error, missing “;”
我在php中定义的表单中存在潜在错误的表单。 我使用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可以提供的任何帮助。
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); ?>;
应该在这里丢掉引号。
var errors = "<?php echo json_encode($errors); ?>";
应该可能是:
var errors = <?php echo json_encode($errors); ?>;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.