2014-10-16 128 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