不久前,在线应用曾经说过,"不要多次点击提交." 现在已经不见了,对吗?你怎么防范PHP中的那个?
我正在使用的一个解决方案涉及在Session中放置一个变量,因此您不能每10秒向页面提交一次以上.这样,数据库工作就会完成,因此可以进行正常的检查.显然,这感觉就像一个黑客,可能是.
编辑:感谢大家的Javascript解决方案.那没关系,但这有点工作.1)这是一个输入类型=图像和2)提交必须继续射击,直到Spry的东西说它没关系.这个编辑只是我抱怨,基本上,因为我想在查看Spry的东西之后,我将能够弄明白.
编辑:不是任何人都会与Spry集成,但这是我使用Prototype for document.getElementByid的最终代码.欢迎评论!
function onSubmitClick() {
var allValid = true;
var queue = Spry.Widget.Form.onSubmitWidgetQueue;
for (var i=0;i<queue.length; i++) {
if (!queue[i].validate()) {
allValid = false;
break;
}
}
if (allValid) {
$("theSubmitButton").disabled = true;
$("form").submit();
}
}
Run Code Online (Sandbox Code Playgroud)
由于某种原因,第二次提交表格是必要的......
这是jQuery有用的一个很好的例子(你可以在任何Javascript中做到这一点).添加此代码:
$("form").submit(function() {
$(":submit",this).attr("disabled", "disabled");
});
Run Code Online (Sandbox Code Playgroud)
一旦点击一次,它就会禁用提交按钮.