目前我正在开展一个项目,要求提交一份表格,用于特定职位的“投票”。目前点击“提交”按钮可以正常工作,但如果按钮被多次单击,则确实如此 - 多次提交POST变量,使其能够多次“投票”该项目。一组点击。
我看过每个jQuery代码示例,我可以找到解决这个但没有任何作用。它可以禁用按钮,但在此之后,抓取数据并运行查询的重定向页面会返回错误,因为没有提交任何内容。简而言之,它似乎禁用了按钮,但同时禁止提交信息。
这是我的jQuery代码:
$('#vote').submit(function(){
$(this).children($btn).attr('disabled', true);
return true;
});
任何帮助都会很棒。 感谢。
答案 0 :(得分:3)
使用jquery .one
说明: 将处理程序附加到元素的事件。处理程序每个元素最多执行一次。
$(document).one("click","#vote",function(){
$(this).children($btn).attr('disabled', true);
return true;
});
答案 1 :(得分:1)
可能你最好的选择是只允许一次提交并以其他方式调整按钮外观:
var submitted = false;
$('#vote').submit(function(){
if(submitted) {
// cancel additional submits
return false;
}
submitted = true;
$(this).children($btn).val('Please wait...');
});
答案 2 :(得分:1)
例如,在提交后,您可以通过
完全禁用点击$('#vote').off('click');
然后根据需要将其切换回来
$('#vote').on('click');
答案 3 :(得分:1)
您可以添加click event
。而不是使用提交按钮使用按钮单击事件。
代码可能看起来像这样
$($button).click(function(){
$(this).attr("disabled","disabled");
$($form).submit();
});