function save_team()
{
$('#saveBtn').unbind('click');
$.ajax(
{
type: "POST",
url: "save.php",
data: { team_Array : t_pls },
success: function(data) {
$('#msg').text(data);
}
});
}
<input type="submit" value="SAVE" id="saveBtn" onclick="save_team()">
我搜索过,找到了一些解决方案,但他们不工作。如何防止SAVE按钮/ onclick事件两次触发?我正试图在mysql中保存10名队员。如果团队相同且onclick事件发生,则不会发生任何事情。 有人建议我在PHP脚本中执行此操作(在我的情况下为save.php)。但我想不出完美的解决方案。
我想我必须使用php来做到这一点。当团队没有改变时,应该禁用onclick事件,当团队确实更改ajax时,应该进行调用并且团队应该保存在DB中。 所以,one()调用或禁用attr。在这里不会有帮助。请提示一些PHP脚本帮助。
答案 0 :(得分:2)
用于禁用按钮。
$('#Btn').attr('disabled',true);
答案 1 :(得分:2)
<强> HTML 强>
<input type="button" value="SAVE" id="saveBtn" onclick="save_team()">
<强>的JavaScript 强>
$('#saveBtn').attr('disabled','disabled')
禁用按钮并在响应从ajax返回时启用。
答案 2 :(得分:1)
简单的解决方案是禁用按钮并在回调时启用它。
$('#saveBtn').attr('disabled','disabled')
答案 3 :(得分:1)
我建议首次点击按钮时禁用该按钮。在ajax调用之前。我们必须小心启用成功按钮以及错误。您也可以使用完整的AJAX调用来启用按钮。
{
$('#btnId').attr("disabled", true);
// make the AJAX call..
$('#btnId').attr("disabled", false);
}
答案 4 :(得分:1)
使用jquery one:
$( "#saveBtn" ).one( "click", function() {
save_team();
});
答案 5 :(得分:1)
我建议做三件事。单击按钮后首先禁用该按钮。
$('#saveBtn').attr('disabled','disabled');
其次使用one()
绑定点击处理程序$("#saveBtn").one('click', save_team);
第三,这是在你的UI中放置业务逻辑,所以如果它必须在那里,那么检查应该在服务器上的php中重复。
答案 6 :(得分:1)
使用jQuery one方法
$('#saveBtn').one('click', save_team)
答案 7 :(得分:1)
您必须取消在您的函数中返回false
的自动表单提交,并将其返回到您的onclick
属性值中:
function save_team()
{
//$('#saveBtn').unbind('click'); I think this line is not needed anymore
$.ajax(
{
type: "POST",
url: "save.php",
data: { team_Array : t_pls },
success: function(data) {
$('#msg').text(data);
}
});
return false;
}
<input type="submit" value="SAVE" id="saveBtn" onclick="return save_team()">
答案 8 :(得分:0)
禁用按钮,成功或错误时重新启用它。