
Jak zavolat funkci po vyplnění přihlašovacích údajů prohlížečem?
Dobrý den,
Nastavil jsem na webu, aby tlačítko pro přihlášení zůstalo zakázáno do té doby, než nejsou vyplněny oba údaje a email má platný formát
function updateLoginButtonState() {
const email = usernameInput.value.trim();
const password = passwordInput.value.trim();
const hasEmail = email.length > 0;
const hasPassword = password.length > 0;
const emailValid = isEmailSyntaxValid(email);
loginBtn.disabled = !(hasEmail && hasPassword && emailValid);
// NEXT CODE
}Volám při jakékoliv změně hesla nebo emailu a funguje to naprosto správně
Problém nastává, když to má uložené prohlížeč a automaticky to doplní při načtení, při čemž tlačítko zůstane stále nepovoleno.
I když stačí pouze kliknout (klidně i přímo na tlačítko), tak se okamžitě povolí, i přesto je to otravné.
ChatGPT mně doporučil na konec DOMContentLoaded dopsat
let loginCheckCount = 0;
const loginPostLoadCheck = setInterval(() => {
updateLoginButtonState();
loginCheckCount++;
// max ~2 sekundy (20 × 100 ms)
if (loginCheckCount >= 20) {
clearInterval(loginPostLoadCheck);
}
}, 100);To sice funguje správně, pustí se to v daných intervalech v daném počtu, ale nepomůže to. I když jsou údaje vyplněné, tlačítko je stále deaktivované.
Nevíte, prosím Vás, jak to opravit?
Děkuji
Udalost na zmenu obsahu (spolecna) vsech povinnych editacnich policej, jtera to odesilaci tlacitko povoli pri splneni.