在表单提交当中很容易遇到表单重复提交插入多条相同数据的情况,解决的方式很多种,这边记录一种最为直观简洁的方式,以后有机会再继续补充
1.直接通过JS实现
var issubmit = false; function checkSubmit() { debugger; if (issubmit == false) { issubmit = true; return true; } else { return false; } }
</script>
<form name=”form1” method=”post” οnsubmit=”return checkSubmit();”>
</form>
以上的代码思路是记录下表单提交的状态,如果已经提交过一次那么根据状态判断,即使再次点击提交也无法触发提交,但是出现一个问题,如果出现了验证怎么办,思路就是在验证完成后才开始正式记录提交状态
//这里的情况是在用 Validform 这个通用js来验证的,所以在它验证完毕后的回调函数中来正式记录表单提交状态,验证失败时不会提交不会记录,当验证通过后,记录登录状态,第一次可以提交,反之不可
var issubmit = false; function checkSubmit() { debugger; if (issubmit == false) { issubmit = true; return true; } else { return false; } } //初始化表单验证 $("#DocForm").Validform({ callback: function (data) { if (dosubmit()) { return true;//回调返回true,触发表单提交事件 } else { return false;//反之不触发 } } });
可参考 Validform https://www.cnblogs.com/dreamflycc/p/5073820.html