Autor Zpráva
mou
Profil *
Zdravím,
mám js funkci pro kontrolu e-mailu vyplněného návštěvníkem do pole input text. Pokud je adresa vyplněna vpořádku, provede se nějaká akce (enable submit button).
Funkci pro kontrolu emailu spouštím událostí .change() a zároveň .keyup() viz kód.
Bohužel problém je ve chvíli, kdy prohlížeč automaticky "našeptává" nějakou již dříve použitou emailovou adresu. Začnu psát e-mail, prohlížeč nabídne již dříve použité, kliknu na jednu z nich, ta se vloží do pole, ale .change() ani .keyup() to nezachytí (ani .select()). Musím po vložení kliknout mimo pole, aby byla událost zachycena a funkce pro kontrolu emailu spuštěna.
Dá se to nějak zachytit? Na jiné řešení jsem nepřišel.

Díky za radu.

$(document).ready(function(){
    var submit_button = $("#email_send");
    submit_button.attr("disabled", "true");
    $("#email").change(function(){
      CheckEmailAddress(submit_button);
    });
    $("#email").keyup(function(){
      CheckEmailAddress(submit_button);
    });
});
Str4wberry
Profil
Je-li to, jak píšete, můžete použít časovač. Ještě mě napadá, zda <input> při výběru neztratí a opětovně nezíská focus.

Mimochodem, pokud má více událostí dělat to samé, lze si zápis zjednodušit pomocí bind.
_es
Profil
mou:
Údálost Javascriptu pro výběr z nabídky automat. dokončování

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: