2012-09-18 118 views
1

好吧,我從ajax調用中獲取一些數據,並需要通過javascript將值作爲參數存儲到onclick元素。javascript onclick撇號引號問題

output = "<a href = '#' onclick = 'deleteFileName('" + trim(splitString[i]) + "')'> delete File </a>"; 

這種奇怪的行爲。當我檢查元素鉻,輸出看起來像這樣

<a href="#" onclick="deleteFileName("0design mockup.xlsx')'> delete File </a> 

應該很明顯這個樣子

<a href = "#" onclick = "deleteFileName('0design mockup.xlsx')"> 

的參數是一個字符串,所以我需要它周圍的報價。這可能不是做這件事的最好方法,但是爲什麼它會將前兩個引號加上雙引號,然後是最後兩個單引號?

*這是一個使用ajax調用來收集信息的JSP服務器。函數「deleteFileName(fileNameIn)」是一個ajax調用。 (我不相信這是必要的信息,但你永遠不知道)

回答

1

對於onclick的值和函數調用,您不能使用相同的引號。你需要一個單引號和另一個雙引號(哪裏放哪個不重要)。否則,您將使用函數調用的第一個單引號關閉onclick屬性。

例子:

output = "<a href = '#' onclick = 'deleteFileName(\"" + trim(splitString[i]) + "\")'> delete File </a>"; 
+0

gah,好吧,那簡直是愚蠢的我現在看到,在我的小世界裏,我決定單一的報價被視爲不同於雙引號lol。謝謝 –

0

而不是檢查信息,我建議你直接wget或curl頁面(或使用瀏覽器的視圖源功能)。這些天我發現許多瀏覽器在檢查員中錯誤地呈現信息時試圖很好地格式化一切。

從等式中刪除瀏覽器是一個很好的第一步,因爲它會告訴你到底發生了什麼問題。

+0

查看源沒有幫助,因爲我使用JavaScript的頁面加載後粘貼數據庫信息。源信息只是我佈局的基本HTML(divs/tables),並且在事實之後使用Javascript填充,因爲信息非常動態。我的IDE沒有診斷功能,我在公司機器上,不允許我下載新軟件:( –