2013-02-04 59 views
3

所以基本的概要是,我試圖創建一個在我們的Web地圖應用程序中標記不適當內容的基本手段。 在用戶點擊某個點時,爲動態創建Web地圖側欄的內容的函數中,我有這段代碼應該生成一個標誌圖像。Javascript onclick函數調用問題:不會傳遞字符串

當用戶點擊標誌時,我想運行函數flagContent,它應該傳遞一個url字符串到函數中。從這個函數中,我可以稍後將其寫入數據庫(雖然我還沒有做到這一點)。

這裏有一些代碼段我一直與.:

1.本是其中標記圖像生成

content += "<p class='info'><img id='flag' onclick='flagContent(" + attachmentInfo.url + ") 
'src='assets/flag.png' style='height:15px'>Flag as inappropriate...</p>"; 
  1. 這是所連接的功能

    功能flagContent(imageUrl){console.log(imageUrl)}

所以基本上這個url是一個字符串,我希望能夠在flagContent函數中操作它。不幸的是我無法讓它工作。當我傳遞一個數字參數,如attachmentInfo.objectID我不會遇到同樣的問題。

對於什麼是值得我也收到此錯誤:

Uncaught SyntaxError: Unexpected token :

任何幫助將不勝感激。讓我知道是否有其他信息可以幫助解決這個問題。謝謝!

+1

'attachmentInfo.url'評估的是什麼? – Floris

+0

是'高度:15px'導致問題?並且'flagContent('「+ attachmentInfo.url +'')' – hunter

+0

驗證正在生成的HTML。 flagContent()的字符串參數也必須在Javascript中引用。 – devio

回答

11

我假設attachmentInfo.url會返回一個URL,它應該是一個字符串,它只需要用引號括起來。既然你已經使用了兩種類型的引號,你將不得不轉義一些引號。

content += "<p class='info'>"; 
content += "<img id='flag' onclick=\"flagContent('" + attachmentInfo.url + "')\" src='file.png'/>"; 
content += "Flag as inappropriate..."; 
content += "</p>"; 

這樣做可以讓最後出來把這個樣子的:

<p class='info'> 
    <img id="flag" onclick="flagContent('http://example.com')" src='file.png'/> 
    Flag as inappropriate... 
</p> 

你必須是URL中沒有用引號括起來,而它看到flagContent(http://example.com),不知道是什麼的問題用那些不是字符串的單詞來處理。

+0

工程就像一個魅力!感謝您的幫助 – user1270657

+0

非常感謝您從長久以來一直困擾着我...... – Shaz

相關問題