2013-10-07 41 views
0

我有一個頁面下面是使用jQuery來追加一些HTML。 它只是附加的輸入標籤中指定DIV在服務器上運行時顯示代碼而不是字符在jQuery中的html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
    <head> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
    <title>Untitled Document</title> 
    <script src="../../jquery-1.10.2.min.js" type="text/javascript" xml:space="preserve"></script> 
    <script type="text/javascript" xml:space="preserve"> 
    var i = 0; 
    function test(){ 
     var totalQuantity = '<input type="number" name="order' + i + '.totalQuantity" />'; 
     $(".test").append(totalQuantity); 
     i++; 
    } 
    </script> 
    </head> 
    <body> 
    <div class="test"></div> 
    <input type="button" onclick="test()" value="Add" /> 
    </body> 
</html> 

當我在服務器中的Tomcat使用Spring運行此,在檢查元素的JavaScript是這樣的:

var totalQuantity = '<input type="number" name="order&#39;+i+ &#39;.totalQuantity" />'; 

所有( ')字符替換爲代碼(#& 39)

實際上有什麼問題?爲什麼它不顯示字符(')而是顯示其html代碼?

這是使用彈簧的問題,因爲當我分開(而不是在容器或彈簧框架)打開此HTML文件時,它工作正常。

+1

如果你的javascript是外部的,這可能不會發生。顯然,某種html預處理器正在搞亂你的javascript。它發現了一個html元素,其中包含引號的屬性,所以它相應地修復了它。 –

+0

腳本標記上的'xml:space'屬性是什麼?有沒有可能使用這個來編碼你的Javascript? – Nunners

+0

是的,刪除的XML:空間=「保存」 –

回答

0

雖然這是一種解決方法,我認爲這是插入javascript到html的正確方法。

將您的JavaScript移動到外部文件中,以便預處理HTML的任何內容都不會觸及您的JavaScript。

+0

你說得對。它真的幫助了我。我會記住這一點:-) – vicky

相關問題