2012-04-02 117 views
1

我想了一堆的变量传递给一个隐藏的输入值,但我在这段代码中得到一个愚蠢的语法错误:jQuery的语法错误:意外标记=

$('#imgdata').append( 
    '<input type="hidden" name="imgdata[' + id + '][width]" value="' + _width + '"/> 
    <input type="hidden" name="imgdata[' + id + '][height]" value="' + _height + '" /> 
    <input type="hidden" name="imgdata[' + id + '][left]" value="' + _left + '" /> 
    <input type="hidden" name="imgdata[' + id + '][top]" value="' + _top + '" /> 
    <input type="hidden" name="imgdata[' + id + '][src]" value="' + _src + '" />' 
); 

我必须俯瞰简单的语法错误。控制台告诉我它在第三行。

SOLUTION:

问题在于换行。在没有按下输入格式的情况下让内联代码修复它。

+3

想开导我们什么控制台告诉你?这只是“语法错误”,绝对没有其他信息?我的猜测是“Unterminated String Literal”可能在某处。 :)无论哪种方式,你都可以考虑从确保每行以''+'结尾开始3,4,5和6以'''开始,因为不是每个编辑器都可以无缝处理换行。 – jmort253 2012-04-02 01:00:53

+0

Chrome在Safari 3中说'未捕获的SyntaxError:意外的令牌=',而safari则说'SyntaxError:意外的EOF' – mistersoftee 2012-04-02 02:33:30

+0

这个问题确实是一个换行问题。我只是在文本编辑器中做了一行,并修复了它。谢谢。 – mistersoftee 2012-04-02 02:37:40

回答

3

JavaScript字符串行必须以\结尾。 除此之外,请确保所有变量都已确定。

您的代码示例应该如下:

$('#imgdata').append( 
    '<input type="hidden" name="imgdata[' + id + '][width]" value="' + _width + '"/>\ 
    <input type="hidden" name="imgdata[' + id + '][height]" value="' + _height + '" />\ 
    <input type="hidden" name="imgdata[' + id + '][left]" value="' + _left + '" />\ 
    <input type="hidden" name="imgdata[' + id + '][top]" value="' + _top + '" />\ 
    <input type="hidden" name="imgdata[' + id + '][src]" value="' + _src + '" />' 
);​ 
+0

+1 - 我忘了你可以添加\。我必须记住这一点。 – jmort253 2012-04-02 02:39:48

+0

谢谢。这工作。 – mistersoftee 2012-04-02 02:41:17

+0

http://stackoverflow.com/questions/805107/multiline-strings-in-javascript – shaunsantacruz 2012-04-02 03:06:13