gpt4 book ai didi

javascript - 如何使用 jQuery 允许用户只投票一次?

转载 作者:行者123 更新时间:2023-12-03 08:55:48 25 4
gpt4 key购买 nike

我有一个应用程序,允许同一公司的用户使用同一登录名对特定项目进行投票,因此我无法使用 IP 来控制用户投票的次数。如何使用 jQuery 允许用户只投票一次?

jQuery:

$("#xmlDiv").on("click", ".upvote", function(e) {
var id = $(this).attr("id");
var main = $(this);
$.ajax({
type: 'post',
url: 'includes/upvote.php',
data: { "id":id },
success(data) {
main.parent().find("div.votenum").html(data);
},
error: function (xhr, textStatus, error) {
alert("Sorry!");
}
});
});

$("#xmlDiv").on("click", ".downvote", function(e) {
var main = $(this);
var id = $(this).attr("id");
$.ajax({
type: 'post',
url: 'includes/downvote.php',
data: { "id":id },
success(data) {
main.parent().find("div.votenum").html(data);
},
error: function (xhr, textStatus, error) {
alert("Sorry!");
}
});
});

HTML:

<img src="arrow-up-01-20.png" style="float:right;" class="upvote" id="5">
<img src="arrow-down-01-20.png" id="5" class="downvote" style="float:right;">
<div class="votenum" style="float:right;" id="5">12</div>

最佳答案

当用户点击upvote时,可以向投票的div添加一个类

main.addClass("voted");

你可以使用 hasClass("voted") 检查

$("#xmlDiv").on("click", ".upvote", function(e) {
var id = $(this).attr("id");
var main = $(this);

if(main.hasClass("voted"))
return;

main.addClass("voted");

$.ajax({
type: 'post',
url: 'includes/upvote.php',
data: { "id":id },
success(data) {
main.parent().find("div.votenum").html(data);
},
error: function (xhr, textStatus, error) {
alert("Sorry!");
}
});
});

我建议在服务器端再次控制

关于javascript - 如何使用 jQuery 允许用户只投票一次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32505621/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com