Login és ChangePassword formok változtatása spinner kiegészítés

This commit is contained in:
2026-01-20 10:10:52 +01:00
parent f480269bc5
commit 4f4ca5cec4
2 changed files with 123 additions and 37 deletions
@@ -21,6 +21,15 @@
<div class="card shadow p-4" style="min-width: 350px; max-width: 400px; width: 100%;">
<h2 class="mb-4 text-center">Jelszó módosítása</h2>
<!-- Loading overlay -->
<div id="formLoading" class="position-absolute top-0 start-0 w-100 h-100 d-none align-items-center justify-content-center"
style="background: rgba(255,255,255,.75); z-index: 10; border-radius: .375rem;">
<div class="text-center">
<div class="spinner-border" role="status" aria-hidden="true"></div>
<div class="mt-2 small text-muted">Kérlek várj…</div>
</div>
</div>
<div id="errorMessageContainer" class="alert alert-danger" style="display:none;"></div>
<form method="post">
@@ -55,7 +64,7 @@
</div>
<hr class="mt-4 mb-3 border-secondary">
<div id="login2F1" class="d-grid">
<button id="Login2F1Btn" type="button" class="btn btn-primary">Bejelentkezés</button>
<button id="Login2F1Btn" type="button" class="btn btn-primary">Ellenőrzés</button>
</div>
<div id="login2F2" class="d-grid">
<button id="Login2F2Btn" type="button" class="btn btn-primary">Megerősítés</button>
@@ -88,6 +97,30 @@
<script src="https://cdn.jsdelivr.net/npm/jquery-validation-unobtrusive@4.0.0/dist/jquery.validate.unobtrusive.min.js"></script>
<script>
function setLoading(isLoading) {
if (isLoading) {
$('#formLoading').removeClass('d-none').addClass('d-flex');
$('#Login2F1Btn, #Login2F2Btn').prop('disabled', true);
// opcionális: inputok tiltása is
// $('#User2FADTO_UserName, #User2FADTO_Password, #User2FADTO_Code').prop('disabled', true);
} else {
$('#formLoading').addClass('d-none').removeClass('d-flex');
$('#Login2F1Btn, #Login2F2Btn').prop('disabled', false);
// $('#User2FADTO_UserName, #User2FADTO_Password, #User2FADTO_Code').prop('disabled', false);
}
}
let requestInFlight = false;
function beginRequest() {
if (requestInFlight) return false;
requestInFlight = true;
setLoading(true);
return true;
}
function endRequest() {
requestInFlight = false;
setLoading(false);
}
$(document).ready(function () {
$('#VerificationCode').hide();
$('#login2F2').hide();
@@ -97,6 +130,8 @@
$('#Login2F1Btn').on('click', function () {
// $('#Login2F1Btn, #Login2F2Btn').prop('disabled', true);
if (!beginRequest()) return;
$('#errorMessageContainer').hide().text('');
const csrfToken = document.querySelector('meta[name="csrf-token"]').getAttribute('content');
const userName = $('#UserChangePassword2FADTO_UserName').val();
@@ -136,6 +171,9 @@
// .prop('disabled', false)
// .removeAttr('disabled')
// .removeClass('disabled');
},
complete: function () {
endRequest();
}
});
@@ -143,6 +181,7 @@
$('#Login2F2Btn').on('click', function () {
// $('#Login2F1Btn, #Login2F2Btn').prop('disabled', true);
if (!beginRequest()) return;
$('#errorMessageContainer').hide().text('');
const csrfToken = document.querySelector('meta[name="csrf-token"]').getAttribute('content');
@@ -194,6 +233,9 @@
// .prop('disabled', false)
// .removeAttr('disabled')
// .removeClass('disabled');
},
complete: function () {
endRequest();
}
});
});
@@ -25,6 +25,15 @@
<div class="card shadow p-4" style="min-width: 350px; max-width: 400px; width: 100%;">
<h2 class="mb-4 text-center">Bejelentkezés</h2>
<!-- Loading overlay -->
<div id="formLoading" class="position-absolute top-0 start-0 w-100 h-100 d-none align-items-center justify-content-center"
style="background: rgba(255,255,255,.75); z-index: 10; border-radius: .375rem;">
<div class="text-center">
<div class="spinner-border" role="status" aria-hidden="true"></div>
<div class="mt-2 small text-muted">Kérlek várj…</div>
</div>
</div>
<div id="errorMessageContainer" class="alert alert-danger" style="display:none;"></div>
<form method="post">
@@ -68,13 +77,41 @@
<script src="https://cdn.jsdelivr.net/npm/jquery-validation-unobtrusive@4.0.0/dist/jquery.validate.unobtrusive.min.js"></script>
<script>
function setLoading(isLoading) {
if (isLoading) {
$('#formLoading').removeClass('d-none').addClass('d-flex');
$('#Login2F1Btn, #Login2F2Btn').prop('disabled', true);
// opcionális: inputok tiltása is
// $('#User2FADTO_UserName, #User2FADTO_Password, #User2FADTO_Code').prop('disabled', true);
} else {
$('#formLoading').addClass('d-none').removeClass('d-flex');
$('#Login2F1Btn, #Login2F2Btn').prop('disabled', false);
// $('#User2FADTO_UserName, #User2FADTO_Password, #User2FADTO_Code').prop('disabled', false);
}
}
let requestInFlight = false;
function beginRequest() {
if (requestInFlight) return false;
requestInFlight = true;
setLoading(true);
return true;
}
function endRequest() {
requestInFlight = false;
setLoading(false);
}
$(document).ready(function () {
$('#VerificationCode').hide();
$('#login2F2').hide();
$('#Login2F2Btn').hide();
$('#Login2F1Btn').on('click', function () {
// $('#Login2F1Btn, #Login2F2Btn').prop('disabled', true);
if (!beginRequest()) return;
$('#errorMessageContainer').hide().text('');
const csrfToken = document.querySelector('meta[name="csrf-token"]').getAttribute('content');
const userName = $('#User2FADTO_UserName').val();
@@ -114,6 +151,9 @@
// .prop('disabled', false)
// .removeAttr('disabled')
// .removeClass('disabled');
},
complete: function () {
endRequest();
}
});
@@ -121,6 +161,7 @@
$('#Login2F2Btn').on('click', function () {
// $('#Login2F1Btn, #Login2F2Btn').prop('disabled', true);
if (!beginRequest()) return;
$('#errorMessageContainer').hide().text('');
const csrfToken = document.querySelector('meta[name="csrf-token"]').getAttribute('content');
@@ -162,6 +203,9 @@
// .prop('disabled', false)
// .removeAttr('disabled')
// .removeClass('disabled');
},
complete: function () {
endRequest();
}
});
});