【问题标题】:Not able to send dynamic javascript parameters when changing onclick function through javascript call通过javascript调用更改onclick函数时无法发送动态javascript参数
【发布时间】:2014-10-16 19:25:44
【问题描述】:

示例代码:

<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 调用 onclick 函数删除详细信息。函数 addDetails 和 deleteDetails 都具有与其参数相同的值。因此,在 onclick 函数中,我尝试使用与被调用方法相同的参数设置 deleteDetails。

这里的问题是,当我调试它时,与 onclick 函数绑定的实际函数是 deleteDetails('data1','data2','data3') 插入 deleteDetails('1','2','3') 。我尝试了所有可能的字符串运算符来打印该值,但没有发生。

【问题讨论】:

  • 您正在传入“字符串” - 传入对象引用,即 - 删除“”。 deleteDetails(data1,data2,data3)

标签: javascript jquery html onclick


【解决方案1】:

您的参数是变量,而不是“字符串”(只有字符串用引号括起来)

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

【讨论】:

  • 嗨,我试过这个选项。该函数绑定为 deleteDetails(data1, data2, data3) 但未传递 data1、data2 和 data3 的值,而是在我的 html(document) 中搜索变量 data1、data2 和 data3
  • 抱歉最后一条评论似乎我在检查时已将 '' 单独添加到数据中。它的工作
猜你喜欢
  • 1970-01-01
  • 2015-06-23
  • 2019-10-18
  • 1970-01-01
  • 2015-07-30
  • 1970-01-01
  • 2014-10-28
  • 2023-01-02
  • 1970-01-01
相关资源
最近更新 更多