我使用的javascript/jQuery双重提交预防方法是:
$("#btnsubmit").click(function () {
$("#btnsubmit").attr('disabled','disabled');
$('#postform').submit();
});
在提交click
时,Submit Button
是disabled
,表格是submit。因此,双重提交的形式不会发生。但是。现在的问题是html5属性不会初始化(例如Required, Pattern等)
有没有人对如何解决这个问题有任何想法?
或者你可以建议另一种防止双重提交的方法,不会篡改html5属性?
编辑+ DANIEL PATZ回答:
$('#postform').on('submit', function (e) {
// THIS PART
var titleLength = $("#title").val().length;
var descriptionLength = $("#description").val().length;
if(titleLength < 20 || descriptionLength < 150) {
$("#ps").text("Title and Desc Problem.");
} else {
// UNTIL HERE
$('[type="submit"]').prop('disabled','disabled');
}
});
如果您捕获submit
事件,它应该工作。http://jsfiddle.net/tcc7u/
<form>
<input required /><br />
<input type="submit" />
</form>
JS:
$('form').on('submit', function (e) {
$('[type="submit"]').prop('disabled','disabled');
});