2014-10-16 142 views
0

示例代碼改變的onclick功能時發送動態JavaScript參數:無法通過javascript調用

<img id="image" onclick="addDetails('1','2','3');" src="sample.png"/> 

<script> 
function addDetails(data1,data2,data3) 
{ 
    $.ajax(
    { 
     ..... 
     ....., 
     success: function() 
     { 
      document.getElementById("image").onclick=function onclick(event){deleteDetails('data1','data2','data3');}; 
     }  
    }); 
} 
</script> 

在上面的示例代碼我對圖像的點擊調用Ajax和successchanging的 的onclick功能後deleteDetails。 addDetails和deleteDetails函數都具有與其參數相同的值。所以在onclick函數中,我試圖用與被調用方法相同的參數來設置deleteDetails。

這裏的問題是,當我調試它與onclick功能綁定的實際功能是 deleteDetails('data1','data2','data3')刪除了deleteDetails('1','2',' 3')。我嘗試了所有可能的字符串操作符來打印值,但沒有發生。

+0

你傳遞「字符串」 - 通過在對象的引用,即 - 刪除「」。 deleteDetails(data1,data2,data3) – 2014-10-16 19:34:14

回答

1

你的論點是變量,而不是「字符串」(隻字符串被包裹在引號)

document.getElementById("image").onclick = deleteDetails(data1, data2, data3); 
+0

嗨,我試過這個選項。該函數被綁定爲deleteDetails(data1,data2,data3),但data1,data2和data3的值不會被傳遞,而是在我的html(文檔)中搜索變量data1,data2和data3 – user2515695 2014-10-17 08:36:47

+0

對不起,看起來最後的評論當我檢查時,我已經分別向數據添加了''。它的工作 – user2515695 2014-10-17 08:50:53