我确定这是一个超级简单的修复程序,但我看不到它。
我有一个播放按钮,只希望它在第一次单击时才写入数据库(包括播放计数)。

知道为什么这行不通吗?此结果计算每次点击,如果countonce = 0并在开始时声明为0,则不会计算任何点击。我误解了javascript吗?

 <div id="left-05-play_">
 <script type="text/javascript">
 var currsong = 1;
 var playcountadd = document.getElementById('left-05-play_');
 playcountadd.onclick = function() {
 if (countonce != 1) {
 $.post( "php/songadd.php", { addsong: "1", } );
 var countonce = 1;
 } }
 </script>
 </div>


感谢您抽出宝贵时间阅读此问题。

最佳答案

这应该可以解决问题。

var currsong = 1;
var songadded = false;
var playcountadd = document.getElementById('left-05-play_');

playcountadd.onclick = function() {
   if (!songadded) {
      $.post( "php/songadd.php", { addsong: "1", } );
      songadded = true;
   }
}



countonce更改为songadded
songaddedonclick功能中移出
songadded更改为布尔逻辑
在进行AJAX发布之前,请检查是否songadded=false

09-27 16:41