2012-04-02 119 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