2017-04-11 77 views
0

當存儲onclick事件到頁面的html代碼時,我有一個問題。當表填滿 對tr產品名稱與行應該這個樣子:JavaScript onclick - 不正確的解釋

<tr onclick="cart_pr('0K2FA-50030XX')">...</tr> 

只有所有(命名爲「1000發」)的一篇文章中表示這樣的錯誤:

<tr onclick="cart_pr('1000" fa')>...</tr> 

這是錯誤的,只是看「1000後的報價。

因此,當點擊文章」1000 fa「我收到」無效的意外標記「 函數,填充s表的工作原理是這樣的:

function FillArticles() 
{ 
    //--------- Request to DB -----------// 
    //--------- Parse json etc. 

    for(i=0;i<json.length;i++) 
    { 
     //----- Here goes loop to fill a table ----// 

     res.push("<tr onclick=cart_pr('"+obj.name+"')></tr>"); 

     //----- I don't show more, cause only line above is important, so.... 
     //----- below Closes the row with </tr> 
     res.push("</tr>"); 
    } 
    $("#mytable").html(res.join('')); 
    //--------- In this line in debugger, res is absolutely OK 
} 

在這種情況下該怎麼辦?幫助:))

+1

使用\ – Blazemonger

+0

將'obj.name'中的雙引號和單引號轉義出來不要添加內聯事件處理程序,特別是當您已經在使用jQuery時! – JJJ

+0

不引人注意地使用javascript。避免使用onclick屬性來綁定事件,而是使用'.on()' –

回答

0

我需要添加引號&#39;而不是'

res.push("<tr onclick='cart_pr(&#39;"+obj.name+"&#39;);'></tr> 

但是,這肯定是不使用有多個參數的函數時做出的表與點擊行,特別是最佳方法。

最好使用.on()而不是使用JQuery而不是這種方法。