var flag = false;
function a() {
foo();
}
function b(){
$.getJSON(URL, '', function(data){
foo();
}
}
function c() {
if (flag == true){
return;
}
flag = true;
document.frm.submit();
flag = false;
}
<span><a href="#top" onclick="a(); return false;"> TEST 1</a></span>
<span><a href="#top" onclick="b(); return false;"> TEST 2</a></span>
目标是防止表单提交两次,并且由于其他原因,无法禁用按钮或链接本身,我们使用了flag变量。
TEST 1按钮仅在您多次单击时发生一次,但是TEST 2按钮有时会提交两次。
我想知道单击TEST 2按钮时是否以回调形式调用foo函数会产生此结果。
答案 0 :(得分:0)
创建一个布尔变量,以跟踪您是否已提交表单。
var ifSubmit = false;
if (!ifSubmit) {
document.frm.submit();
ifSubmit = true;
}
上面的代码将只执行一次。使用类似的东西。