单击锚点时如何执行JavaScript方法?

时间:2014-04-16 18:35:39

标签: javascript jquery

我正在上课,我添加了一个评论系统。我现在想要添加报告评论的功能。

我在评论表中添加了一个名为report_active的列,我的想法是当它处于活动状态时(意味着已经报告)将其设置为1,当它不是时,将其设置为0。然后只需在adminCP中列出所有注释,并在其上显示活动报告。

在评论页面上,我添加了href属性,如下所示:

<div style="float:right;"><a href="javascript:reportComment();">Report</a></div>

这个JavaScript函数是:

<script>
    function reportComment() {
var commentReport = confirm('Are you sure you want to report this comment?');
if (commentReport) {
    $.post("report_comment.php", {"CommentID": <?php echo $data->id; ?>}, function() {
    window.location.href="report_comment.php";
});
}
  </script>

我已将jQuery 1.9.1包含在我的文件顶部。

问题是当我点击报告按钮时它没有做任何事情,它甚至不显示确认信息。

我做错了什么?

如果有人需要任何其他代码,请说。

3 个答案:

答案 0 :(得分:0)

您需要使用onClick方法。 http://www.w3schools.com/tags/ev_onclick.asp

所以你会有这个:

<a onclick="reportComment();">Report</a>

甚至更好地废弃a并将其作为按钮。

<button onclick="reportComment();">Report</button>

答案 1 :(得分:0)

你的href必须是&#34;#&#34;(或javascript:void(0)),你需要添加一个onclick函数来调用你的js调用。

这是您在PLNKR中的代码: PLNKR

答案 2 :(得分:0)

在href属性中调用JS代码非常棘手,所以请尽量避免使用它。您也可以执行 onclick = reportComment(),但内容与行为/操作的分离会受到影响。最好在jquery上为<a>标记

添加click事件处理程序

HTML

<div style="float:right;"><a href='#'>Report</a></div>

JS / Jquery的

     $('a').click( function() {  
       var commentReport = confirm('Are you sure you want to report this comment?');
       if (commentReport) {
                   // Ajax Code
      }
      return false; 
    });

小提琴:http://jsfiddle.net/gc54k/