2010-07-02 49 views
-3
$('#upload').click(function(){ 
     $('#main .right').html("{% extends 'a.html' %}") 
    }) 

一個js文件中的html頁面,但這是錯誤,如何顯示在谷歌應用程序引擎

如何使這個代碼運行。

感謝

+2

定義'沒有運行' – HurnsMobile 2010-07-02 19:18:44

+0

它不顯示錯誤,但它是不正確的,cauz當我在底部定義「alert('ss')」 – zjm1126 2010-07-02 19:23:53

+3

現在定義'cauz' – Dolph 2010-07-02 19:25:00

回答

0
$('#upload').click(function(){ 
    $('#main .right').html("{% extends 'a.html' %}") 
}) 

你的意思是{% include %}?我看不到在腳本塊中放置extends的用途。

如果您實際上已成功模板化{% ... %}塊,那麼您將包含大量HTML內容。 HTML內容通常會有很多換行符和"字符,它們都會立即終止html()調用中的JavaScript字符串,並導致舊的語法錯誤。 (這將導致麻煩其他人物包括\</

如果你想這個工作,你需要採取a.html模板的輸出,並使用JavaScript字符串字面規則編碼。對於普通的字符串,這可以使用Django中的escapejs過濾器或一般的json庫來完成。但我不認爲有任何方法可以對{% include %}命令的輸出進行過濾。

將HTML包含在文檔的隱藏部分並從腳本顯示/隱藏它如何?

2

讓我猜猜 - 你的元素結束了包含 「{% '延伸a.html' %}」?如果是這樣,那是因爲你的js文件沒有被模板引擎解析。在任何情況下,你可能會更好地使之成爲一個Ajax請求,如服務於以下內容:

$('#upload').click(function() { 
    $.get("a.html", function(data) { 
     $('#main .right').html(data); 
    }); 
}); 

如果你感到異常花哨,你可以添加一些動畫,讓用戶知道的請求未決。