JQuery JS未捕获错误:语法错误,无法识别的表达式:

时间:2017-06-21 12:28:06

标签: javascript jquery syntax-error

所以,我有这个问题一直困扰着我,我似乎无法修复它。出现的错误是:

  

未捕获错误:语法错误,无法识别的表达式:[{" type":" header"," subtype":" h1", "标签":"另一个测试表格"},{" type":" checkbox-group"," label" :" Checkbox Group"," name":" checkbox-group-1497353080484"," values":[{" label&# 34;:"选项1","值":"选项-1","选择":true}]},{&# 34;类型":"头""亚型":" H1""标签":"头&#34 ;},{"类型":"数""标签":"数""的className":& #34;形状控制""名称":"数1497353081884"},{"类型":"文本&#34 ;, "标签":"文字字段"," className":"表格控制","名称":&# 34;文本1497353083345""亚型":"文本"}]

我已设法找到导致此问题的代码行,即:

        forms = $(document.getElementById('formData').getAttribute("value")),

现在,我不知道为什么会导致这个问题。进来的内容是正确的。这都是在JQuery函数中完成的,实际上整个JQuery函数看起来像这样:



jQuery(function($) {
		var $fbEditor = $(document.getElementById('fb-editor')),
		$formContainer = $(document.getElementById('fb-rendered-form')),
		forms = $(document.getElementById('formData').getAttribute("value")),
		fbOptions = {
			formData: forms,
			dataType: 'json',
			onSave: function(){
				$fbEditor.toggle();
				$formContainer.toggle();
				$('form', $formContainer).formRender({
					formData: formBuilder.formData
				});
			}
		},
		formBuilder = $fbEditor.formBuilder(fbOptions);
		
		$('.edit-form', $formContainer).click(function() {
			$fbEditor.toggle();
			$formContainer.toggle();
		});
	});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
&#13;
&#13;
&#13;

所以,我不熟悉JavaScript,JQuery或其他任何一个。所以它很可能是一个简单的问题,但我现在无法弄清楚它是什么。别人可以告诉我哪里出错了,可能还有怎么解决?

2 个答案:

答案 0 :(得分:1)

forms = $(document.getElementById('formData').getAttribute("value")),

尝试删除上面代码中的$()。根据poohitan,它是一个选择器,但似乎根本没有做任何事情。

答案 1 :(得分:0)

从错误中我猜document.getElementById('formData').getAttribute("value")是一个JSON字符串。

您已将其包装到jQuery对象构造函数$(...)中,并且它失败,因为jQuery将该参数视为选择器(如.classname),DOM元素或其他jQuery元素。