2017-02-24 85 views
0

代碼:無效的或意外的標記在JS引用HTML

(function() { 

var itemCtx = {}; 
itemCtx.Templates = {}; 

itemCtx.Templates.Header = 「<div><b>Announcements</b></div><table>」; <---syntax error here? 
itemCtx.Templates.Item = ItemOverrideFun; 
itemCtx.Templates.Footer = 「</table>」; <---syntax error here? 

itemCtx.BaseViewID = 1; 
itemCtx.ListTemplateType = 104; 

SPClientTemplates.TemplateManager.RegisterTemplateOverrides(itemCtx); 

})(); 

function ItemOverrideFun(ctx) { 

var _announcementTitle = ctx.CurrentItem.Title; 

var _announcementDesc = ctx.CurrentItem.Body; 

var _announcementID = ctx.CurrentItem.ID; 

return 「<tr><td><p><b>」 + _announcementTitle + 「</b></p>」 + _announcementDesc +」<a href=’/Lists/Company%20Announcements/DispForm.aspx?ID=’+ _announcementID +’> Read More…</a></td></tr>」; <---syntax error here? 
} 

當該代碼被稱爲鉻控制檯說,有一個無效的或意外的標記語法錯誤。

錯誤顯示在帶有雙引號的行上,並且在Chrome控制檯中,雙引號實際上被看起來像帶有問號鑽石的圖標替換。

到目前爲止,我嘗試用單引號替換它們,並用雙引號括住雙引號,但都沒有奏效。

謝謝。

回答

1

替換"

如在控制檯中顯示的錯誤消息,則顯然在錯誤所使用。您正在使用的與要使用的"不一樣。

因此,用"代替的所有發生。

LEFT DOUBLE QUOTATION MARK"QUOTATION MARK。你應該明白 都是不同的。

檢查this對於並且參見this對於"

1

拉爾提出了一個很好的觀點。我在下面修復它。

這裏:

(function() { 

var itemCtx = {}; 
itemCtx.Templates = {}; 

itemCtx.Templates.Header = "<div><b>Announcements</b></div><table>"; 
itemCtx.Templates.Item = ItemOverrideFun; 
itemCtx.Templates.Footer = "</table>"; 

itemCtx.BaseViewID = 1; 
itemCtx.ListTemplateType = 104; 

SPClientTemplates.TemplateManager.RegisterTemplateOverrides(itemCtx); 

})(); 

function ItemOverrideFun(ctx) { 

var _announcementTitle = ctx.CurrentItem.Title; 

var _announcementDesc = ctx.CurrentItem.Body; 

var _announcementID = ctx.CurrentItem.ID; 

return "<tr><td><p><b>" + _announcementTitle + "</b></p>" + _announcementDesc +"<a href='/Lists/Company%20Announcements/DispForm.aspx?ID=" _announcementID +"'> Read More…</a></td></tr>"; 

這就是問題所在:

」<a href=’/Lists/Company%20Announcements/DispForm.aspx?ID=’+ _announcementID +’> 

您曾試圖用單引號將關閉字符串,你需要一個雙您級聯_announcementID

之前關閉它
1

您需要用適當的字符替換所有單引號和雙引號,然後用雙引號正確地引用鏈接的其他片段報價:_announcementID+"'> Read More...</a>

(function() { 

var itemCtx = {}; 
itemCtx.Templates = {}; 

itemCtx.Templates.Header = "<div><b>Announcements</b></div><table>"; 
itemCtx.Templates.Item = ItemOverrideFun; 
itemCtx.Templates.Footer = "</table>"; 

itemCtx.BaseViewID = 1; 
itemCtx.ListTemplateType = 104; 

SPClientTemplates.TemplateManager.RegisterTemplateOverrides(itemCtx); 

})(); 

function ItemOverrideFun(ctx) { 

var _announcementTitle = ctx.CurrentItem.Title; 

var _announcementDesc = ctx.CurrentItem.Body; 

var _announcementID = ctx.CurrentItem.ID; 

return "<tr><td><p><b>" + _announcementTitle + "</b></p>" + _announcementDesc +"<a href='/Lists/Company%20Announcements/DispForm.aspx?ID="+ _announcementID+"'> Read More...</a></td></tr>"; 
}