Merge pull request #4976 from Icinga/do-not-disable-all-inputs-on-form-submit

js: Only disable submit buttons on form submit
This commit is contained in:
Johannes Meyer 2023-01-12 09:53:45 +01:00 committed by GitHub
commit 96179182e4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 9 additions and 4 deletions

View File

@ -119,8 +119,10 @@
}
});
// otherwise the form is submitted several times by clicking the "Submit" button several times
$form.find('input:not(:disabled)').prop('disabled', true);
if (typeof $autoSubmittedBy === 'undefined') {
// otherwise the form is submitted several times by clicking the "Submit" button several times
$form.find('input[type=submit],button[type=submit],button:not([type])').prop('disabled', true);
}
event.stopPropagation();
event.preventDefault();

View File

@ -129,8 +129,11 @@
// Disable all form controls to prevent resubmission except for our search input
// Note that disabled form inputs will not be enabled via JavaScript again
if (! $form.is('[role="search"]') && $target.attr('id') === $form.closest('.container').attr('id')) {
$form.find('input:not(:disabled)').prop('disabled', true);
if (! $autoSubmittedBy
&& ! $form.is('[role="search"]')
&& $target.attr('id') === $form.closest('.container').attr('id')
) {
$form.find('input[type=submit],button[type=submit],button:not([type])').prop('disabled', true);
}
// Show a spinner depending on how the form is being submitted