Archiv štítku: form

Méně známé typy inputů

Možná jste již řešili, jak pomocí JavaScriptu editovat a validovat input pro datum, email nebo URL. A pokud ano, jistě jste zjistili, že to není žádná sranda, trefit se správně do všech validačních pravidel a formátů.

A víte, že s HTML5 tahle nutnost odpadá, protože většina těchto typů inputů je již nativně podporována?

Pěkný přehled je na NativeFormElements.com/.

Pokračování textu Méně známé typy inputů

Pomoc! Nefunguje focus()

Běžná situace – potřebujete po načtení stránky najet do formuláře, který je na jejím konci a dát kurzor do prvního inputu.

Celkem snadno vyzkoumáte, že k obojímu slouží funkce focus(), která předá kurzor do daného elementu a navíc na něj naskroluje, pokud je potřeba:

$(default_el).focus();

Zdánlivě vše funguje bez problémů až do chvíle, kdy se prohlížeč rozhodne, že z neznámého důvodu nebude na daný prvek skrolovat. Pokračování textu Pomoc! Nefunguje focus()

„Too much recursion“ při odesílání formuláře

Pokud narazíte na chybu „Too much recursion“ (a nebo prostě prohlížeč spadne) při odesílání formuláře, podívejte se po metodě, která odesílání zajišťuje.

Na první pohled nemusí být nic zřejmé:

//...
window.checkValid = function(form) {
    form = $(form);
    if (form.validate()) {
        form.submit();
    }
}

Při kliknutí zkontrolujete validitu formuláře a pokud je validní, formulář odešlete. Celkem běžný postup.

Problém ale spočívá v tom, že jQuery methoda $(form).submit() neodesílá formulář, nýbrž vytváří událost submit (podobně jako metoda $(button).click() vytvoří událost click) a tudíž dojde k zavolání methody onsubmit – která pak znovu a znovu vytváří událost submit a zacyklí se. Pokračování textu „Too much recursion“ při odesílání formuláře