Autor Zpráva
Chates
Profil
Předešlý článek byl celkem populární a zvedl vlnu diskuse, proto bych rád i tentokrát znal váš názor na pokračování: Jak správně a rychle na formuláře #2.

Budu rád, když se vyjádříte i ke stránce pcblog.cz jako takové.
Mastodont
Profil
Je pravda, že z kontroly takového kontaktního formuláře asi server nevybouchne, nicméně u složitějších formulářů a hodně navštěvovaných webů to může dost ušetřit.

Neušetříš vůbec nic nebo jen pár milisekund, protože ta kontrola stejně proběhne.
Chates
Profil
Tak jasně, ta úspora je minimální. Jde o to, že se sníží počet špatně vypněných a odeslaných formulářů => méně načtení stránek a kontrol. Když je kontrola javascriptová, tak ta serverová kontrola proběhne jen jednou.
Měsíček
Profil
No .. používat jQuery jen kvůli jednomu formuláři se mi ani trochu nelíbí, myslím, že kdyby jsi využil svých schopností a napsal menší skript, který to krásně zkontroluje bylo by to ještě lepší - jinak je ten článek fajn.
Str4wberry
Profil
Stydne mi večeře, tak jen v rychlosti:

1) Opravdu má ukázka vypadat takto:


2) Nebylo by lepší dát formulář do <dl>, případně do tabulky?
Chates
Profil
2Str4wberry: Ne, nemá. Zapomněl jsem tam position: absolute; Opraveno. Jestli formulář do dl nebo do tabulky toť otázka. Žádný přístup není správný, nebo vyloženě lepší.

2Měsíček: Je pravda, že je to trošku moloch cca 40KB (30+10) javascriptu kvůli takhle jednoduchému formuláři. Dneska už to není tolik, navíc je hodně pravděpodobné, že se jQuery na stránkách bude využívat i na něco jiného. Myslím, že to může ušetřit práci. Než psát vlastní skriptíky pro úsporu pár KB, tady už je všechno hotové.
Railbot
Profil
Jestli formulář do dl nebo do tabulky toť otázka. Žádný přístup není správný, nebo vyloženě lepší.
Formulář lze brát jako tabulková data, struktura tomu odpovídá.

Ten clearfix na divech je zbytečná třída navíc.
Chates
Profil
2Railbot: Přijde mi elegantnější, když prvky hezky plavou. Dájí se s tím pak udělat složitější vícesloupcové formuláře podstatně jednodušeji. Je pravda, že se ten clearfix dá vypustit. Spíš jsem nechtěl zabít všechny div, které by se ocitly ve formuláři.
jansfabik
Profil
a co to takhle zkombinovat?
<dl>
    <dt><label for="mail">E-mail:</label></dt>
    <dd><input name="mail" type="text" id="mail" tabindex="3" /></dd>
</dl>

odpadlo by tím to škaredé <div class="clearfix">
joe
Profil
Já mam osobně radši formuláře v tabulce. Navíc si myslim, že napsat celý znovu je skoro stejně rychlé, jako v něm přejmenovat jména na ty, které používám, a na který jsem zvyklý. Myslim, že takhle to udělá většina.

Tak jasně, ta úspora je minimální. Jde o to, že se sníží počet špatně vypněných a odeslaných formulářů => méně načtení stránek a kontrol. Když je kontrola javascriptová, tak ta serverová kontrola proběhne jen jednou.


Na jednu stranu chceš šetřit server od požadavků, na stranu druhou načítáš zbytečně velké jQuery.
Chates
Profil
Na jednu stranu chceš šetřit server od požadavků, na stranu druhou načítáš zbytečně velké jQuery.

To je pravda. Ty řeči kolem šetření požadavků na server tu byly spíše kvůli smyslu javascriptové kontroly jako takové, ať už jQuery nebo jiné.
Chates
Profil
2jansfabik: Sice by tím odpadlo škaredé <div class="clearfix">, ale zas by tam přibylo <dt><dd>. Navíc class="clearfix" se dá vypustit, pokud by člověk chtěl.
ninja
Profil
Chates:

1. "Zadejte minimálně 3 znaků." - Sprechtis taky englis?
2. "+420 603 603 603" Zadejte prosím platné číslo. - Co je na tom telefonim cisle spatne?!
joe
Profil
Chates
Ale článek jinak dobrý.
Chates
Profil
2ninja:

1) Skloňovat skript neumí, dal jsem tam univerzálnější slovo pro 5+, kdyby si to někdo stahoval.
2) Není na něm špatného vůbec nic. Metoda pro přijmání telefonních čísel tam není. Nechtěl jsem návod komplikovat. Pro tvou spokojenost ukážu, jak přidat funkci pro přijmání telefonních čísel:

jQuery.validator.addMethod("phone", function(phone_number, element) {
return this.optional(element) || phone_number.length > 8 &&
phone_number.match(/^[+]?[()/0-9. -]{9,}$/);
}, "Zadejte prosím platné telefonní číslo.");

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

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

0