mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-11-15 15:19:36 +01:00
Previously, if a invalid form was submitted (for example issue with no title), the form could not be re-submitted again because the button would not stay stuck in loading state. Fix that by hooking the 'submit' event instead which triggers only when the form is valid.
This commit is contained in:
parent
59228d8a71
commit
d19c2c9fcb
1 changed files with 6 additions and 10 deletions
|
@ -164,16 +164,12 @@ export function initGlobalCommon() {
|
|||
}
|
||||
});
|
||||
|
||||
// loading-button this logic used to prevent push one form more than one time
|
||||
$(document).on('click', '.button.loading-button', function (e) {
|
||||
const $btn = $(this);
|
||||
|
||||
if ($btn.hasClass('loading')) {
|
||||
e.preventDefault();
|
||||
return false;
|
||||
}
|
||||
|
||||
$btn.addClass('loading disabled');
|
||||
// prevent multiple form submissions on forms containing .loading-button
|
||||
document.addEventListener('submit', (e) => {
|
||||
const btn = e.target.querySelector('.loading-button');
|
||||
if (!btn) return;
|
||||
if (btn.classList.contains('loading')) return e.preventDefault();
|
||||
btn.classList.add('loading');
|
||||
});
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue