2013-04-03 145 views
0

這真的困擾我,我無法弄清楚如何解決這個問題。我的代碼是創建這個問題是這樣的:意外的令牌<與jQuery

$("#add-warmup").click(function(){ 
    $("#warmup").empty().prepend('<td><input type="text" name="distance-warm" maxlength="7" size="4"> miles</td><td><input type="text" name="duration-warm" maxlength="8" size="8" placeholder="HH:MM:SS" /></td><td>Warmup<input type="hidden" name="type-warm" value="Warmup" /></td><td><select name="shoe-warm"><option value=""><?= str_repeat('&nbsp;', 12); ?></option>></select></td>'); 
>}); 

我只是想點擊一個鏈接,並有當前行與輸入實際值取代,但我不斷收到關於報價的第一部分Unexpected token <錯誤。事情.prepend('<p> test</p>');工作,但這個doesn.t

+0

向我們展示HMTL輸出,而不是PHP代碼。 – bfavaretto

+0

最後一次編輯從代碼中移除了問題。 – Whymarrh

回答

0

更換此

<?= str_repeat('&nbsp;', 12); ?> 

請問,如果你換你前面加上什麼工作這麼簡單?

$("#add-warmup").click(function(){ 

$("#warmup").empty().prepend($('<td><input type="text" name="distance-warm" maxlength="7" size="4"> miles</td> <td><input type="text" name="duration-warm" maxlength="8" size="8" placeholder="HH:MM:SS" /></td> <td>Warmup<input type="hidden" name="type-warm" value="Warmup" /></td> 
<td><select name="shoe-warm"><option value=""><?= str_repeat('&nbsp;', 12); ?></option> </select></td>')); 

}); 

編輯: 從你的截圖:http://gyazo.com/1f01eabd8e3acacc3eb534f5a88fc6cf.png?1365010212

AHA!顯示罪魁禍首!您的文字在開幕後開始行(請參閱:Creating multiline strings in JavaScript

1

嘗試用

<?= str_repeat("&nbsp;", 12); ?> 
+0

我試過了,它似乎從一開始就是錯誤http://gyazo.com/1f01eabd8e3acacc3eb534f5a88fc6cf.png?1365010212 – user2080921

0

發佈的代碼有幾個錯誤。您正在使用單引號使用未轉義的單引號(')。 <?= str_repeat('&nbsp;', 12); ?>應該是<?= str_repeat(\'&nbsp;\', 12); ?><?= str_repeat("&nbsp;", 12); ?>

另請注意,您在jQuery中使用PHP。 (除非JS是由PHP生成的。)

但是您的Unexpected token >錯誤是因爲您在函數關閉時有一個額外的>

+0

我不認爲這很重要。 PHP在服務器上解析,所以發送給客戶端的東西只會是12x   – Zach

+0

好點,但是這整個JS文件是由PHP輸出的嗎? – Whymarrh

0

有了:

.prepend('<p>test</p>'); 

嘗試

.prepend('\<p\>test\<\/p\>'); 

也儘量保持你的HTML,你是在一個行前面加。

我也注意到,當我發佈這個代碼是充滿回車。刪除這些以及