我的页面上有一个按钮,可以在新选项卡中打开插入的链接。为了能够跟踪访问情况,如果访问者单击了该按钮,我正在尝试向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";