点击功能打开新窗口并计算点击次数


Onclick function to open new window and count clicks

我的页面上有一个按钮,可以在新选项卡中打开插入的链接。为了能够跟踪访问情况,如果访问者单击了该按钮,我正在尝试向onclick函数添加变量。

这是我的按钮:

<a href="javascript:void(0);"  onClick="window.open('$link','_blank')">
<button type="button" class="btnbuy">Buy</button></a>

以下是我要做的:

<a href="javascript:void(0);"  onClick="myFunction()">
<button type="button" class="btnbuy">Buy</button></a>
<script>
function myFunction() {
if(window.open("$link", "_blank")){
$isclicked = true;
} }
</script>
$sql=mysql_query("INSERT INTO stats (id,isclicked) VALUES ("","$isclicked"");

我写这个函数只是为了展示我正在尝试做的事情,所以请不要在意语法错误。

我走的路对吗?还是应该试试别的?谢谢你的帮助。

无需在其中任何一个周围放置if()

只需在window.open()调用之前执行所有逻辑即可。

使用谷歌分析并将其添加为新维度
通过这种方式,你将能够更好地跟踪它,而不仅仅是一个数字。

我建议您使用JQuery而不是onclick函数。

这意味着你的HTML可以缩短为

<button type="button" class="btnbuy">Buy</button>

您的JQuery将类似

$(".btnbuy").on('click',function(){
alert("clicked")
/*AJAX CALL to update the value in the database*/
});

使用onclick方法不是最好的。查看链接了解更多信息。。

关于更新计数器,您可以简单地使用AJAX调用来更新数据库中的值。这也将帮助您使用.then语法编写更好的错误或成功消息。

我建议使用jQuery

删除href行,这样您就只有<button>定义的

接下来,包括jQuery库

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>

在您的<head>

然后写一个这样的函数:

$(".btnbuy").on('click',function(){
   window.open("$link", "_blank")){
     $isclicked = true;
    }
  });
}

$(".btnbuy").on("click",function(){
  window.open("<?= $link?>", "_blank")
  $.ajax({
  
  url:'somephpfile.php'
  success:function(data){
  alert(data)
  }
   
  
  });
})
In somephpfile.php
$sql=mysql_query("INSERT INTO stats (id,isclicked) VALUES ("",'true');
echo "success";