【问题标题】:Calling a javascript function from a link generated from a ajax call从 ajax 调用生成的链接调用 javascript 函数
【发布时间】:2012-10-13 02:50:36
【问题描述】:

我有一个 javascript 函数。 我正在进行 AJAX 调用,在收到的内容中有一个链接,我想用它来调用 javascript 函数。

MyJavascriptFunction(bla){
   alert (bla);
}

Result from ajax = "<a href="#" onclick="MyJavascriptFunction(bla)">Click</a>

我是否必须对 AJAX 的结果做任何特别的事情才能使其正常工作,还是应该正常工作。

我试过这样,但点击链接没有成功。

AJAX 调用:

function doSearch() {

  var form = $('form');

   $.ajax({
     url: "doSearch.php", 
     type: "GET",
     data: form.serialize(), 
     success: function(result){ 
       document.getElementById("result").innerHTML=result;
       }
    });
}

在我打印出来的 php 中

<a href="#" onclick="MyJavascriptFunction(bla)">Click</a>

【问题讨论】:

  • 你试过了吗?这会立即告诉你它是否有效。
  • 我意识到我没有在我的问题中提供足够的信息。是的,我已经尝试过了。我已经更新了帖子。
  • 更改 点击 for 点击并告诉我们您点击时是否会显示一个框。
  • 我尝试了 alert('test') ,然后我发现整个问题是我如何将链接与 " 和 ' 连接起来。谢谢。

标签: javascript ajax


【解决方案1】:

首先,尝试一下。但是是的,您必须对 AJAX 结果做一些事情。它必须放在 DOM 中的某个位置,否则用户将无法点击它。

另外,请确保 javascript 函数是顶级的。不过,我建议您改用事件处理程序。

【讨论】:

  • 感谢您的回复。我已经用更多信息更新了我的问题。
【解决方案2】:

将您的 &lt;a&gt; 标签更改为:

<a href="#" onclick="MyJavascriptFunction(bla); return false;">Click</a>

【讨论】:

  • 谢谢。试过但没有成功。
【解决方案3】:

您正在混合使用 jQuery 和 DOM。这不漂亮

试试这个 - 假设您在 html 中没有多个链接

success: function(result){ 
  $("#result").html(result).find("a").on("click",function() {
    MyJavascriptFunction(bla); 
    return false;
  };
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-09-19
    • 2013-05-22
    • 1970-01-01
    • 2020-07-12
    • 1970-01-01
    • 2013-03-18
    • 2015-03-25
    • 1970-01-01
    相关资源
    最近更新 更多