forms: disable autosave while form is submitted (#31706)
This commit is contained in:
parent
ff55130941
commit
4da4dbcec8
|
@ -1,11 +1,13 @@
|
|||
$(function() {
|
||||
var autosave_timeout_id = null;
|
||||
if ($('form[data-has-draft]').length == 1) {
|
||||
var last_auto_save = $('form[data-has-draft]').serialize();
|
||||
var timeout_id = null;
|
||||
function autosave() {
|
||||
var new_auto_save = $('form[data-has-draft]').serialize();
|
||||
var $form = $('form[data-has-draft]');
|
||||
if ($form.hasClass('disabled-during-submit')) return;
|
||||
var new_auto_save = $form.serialize();
|
||||
if (last_auto_save == new_auto_save) {
|
||||
timeout_id = window.setTimeout(autosave, 5000);
|
||||
autosave_timeout_id = window.setTimeout(autosave, 5000);
|
||||
return;
|
||||
}
|
||||
$.ajax({
|
||||
|
@ -18,11 +20,11 @@ $(function() {
|
|||
}
|
||||
},
|
||||
complete: function() {
|
||||
timeout_id = window.setTimeout(autosave, 5000);
|
||||
autosave_timeout_id = window.setTimeout(autosave, 5000);
|
||||
}
|
||||
});
|
||||
}
|
||||
timeout_id = window.setTimeout(autosave, 5000);
|
||||
autosave_timeout_id = window.setTimeout(autosave, 5000);
|
||||
$('#tracking-code a').on('click', autosave);
|
||||
}
|
||||
$('.date-pick').each(function() {
|
||||
|
@ -56,6 +58,9 @@ $(function() {
|
|||
});
|
||||
$('form').on('submit', function(event) {
|
||||
var $form = $(this);
|
||||
if (autosave_timeout_id) {
|
||||
window.clearTimeout(autosave_timeout_id);
|
||||
}
|
||||
$form.addClass('disabled-during-submit');
|
||||
if ($form.hasClass('download-button-clicked')) {
|
||||
/* form cannot be disabled for download buttons as the user will stay on
|
||||
|
|
Loading…
Reference in New Issue