2013-03-06 124 views
2

我有下面這段代碼是一個js LIB一個輸入內容:傳遞一個java變量javascript功能

content:'<a href="x.com" onclick="confirmDel("<%=user.name%>")" > <img src="delete.png" alt="Delete" width="15px" height="15px"></a></div>' 

confirmDel(name) 
{ 
if(confirm("delete " + name +" ?")) 
    { 
    // Do delete stuff 
    } else 
    { 
    return false; 
    } 
} 

當我點擊刪除鏈接,它不會刪除提示我確認提醒!我在這裏錯過了什麼?是關於我將變量傳遞給函數的方式嗎?

回答

1
content:'<a href="x.com" onclick="confirmDel(\''+<%=user.name%>+'\')" > <img src="delete.png" alt="Delete" width="15px" height="15px"></a></div>' 

與在onclick..use轉義字符傳遞參數的問題..

+0

沒有這應該做工精細,它不破,如果你做這種方式實際上將打破。它會嘗試將名稱視爲變量而不是字符串。 – 2013-03-06 03:58:10

+0

不錯的一個人,謝謝 – ComeRun 2013-03-06 04:00:57

+0

沒有scriptlets的使用會更好,因爲不推薦使用。檢查[如何避免在JSP文件中的Java代碼?](http://stackoverflow.com/q/3177733/1065197) – 2013-03-06 04:05:12

0
confirmDel(name) 
{ 
if(confirm("delete " + name +" ?")) 
    { 
    // Do delete stuff 
    } else 
    { 
    return false; 
    } 
} 

這是不正確。它在聲明一個函數和調用它之間的中間位置,但實際上也沒有。

您需要聲明該函數,然後調用它來執行該代碼。你現在在onclick部分調用它,但你需要正確地定義它

function confirmDel(nameStr) 
{ 
if(confirm("delete " + nameStr +" ?")) 
    { 
    // Do delete stuff 
    } else 
    { 
    return false; 
    } 
} 
+0

是啊,它的人被點擊觸發。無論如何,謝謝 – ComeRun 2013-03-06 04:01:47

+0

您的函數聲明仍然不會按照原樣工作。你需要在那裏添加函數關鍵字。 – 2013-03-06 04:12:27