Má smysl dělat <input type="date">?
Tak jsem byl děsně nadšen a použil jeden z nových inputů, o kterých jsem se dočetl u martina.developera a otestoval je na input-type-attr.html.
V editoru při náhledu se mi však zobrazoval jako normální textové pole (v IE náhledu i v gecko náhledu). Dal jsem to na web a tam to bylo OK, takže jsem se tím dál nezabýval.
Protože používám prohlížeč Opera a v ničem jiném jsem se na to na webu nedíval (a to byla chyba!), nevšiml jsem se, že se mi nezobrazuje kalendář s výběrem dne.
Naštěstí hned jedna z testujících vyplnila datum ve špatném tvaru a do databáze se uložilo 0000-00-00.
Jak se to zobrazuje vám (a v jakém prohlížeči)? Má vůbec cenu dělat věci, které případně nezvládají nejpoužívanější prohlížeče?
Testík jsem udělal na
input-date
Prohlížeč
Ostatní
Zobrazí se mi obyčejný input. FF 3.6.17
Je součástí nedokončené specifikace HTML 5, tudíž by se na ně spoléhat nemělo - tzn. na straně serveru (v PHP) validovat tvar toho data. A pokud chceš ten "vyskakovací kalendář" lze nahradit přes JavaScript.
Každopádně tyto věci už poslední verze prohlížečů podporují celkem použitelně.
Na lehkou validaci data ve formátu rok-měsíc-den stačí pár řádků ...
Je i více možností, ale tohle je asi nejlehčí možnost.
No to s javascriptem asi budu muset někdy udělat. Bude to náhodou vkládat jiný člověk, než ten určený (a vycvičený) a je to hned. Avšak možná bude stačit i ona validace. Děkuji ti za ní.
Že mám starší Firefox mě napadlo hned. Dal jsem tedy zkontrolovat aktualizace a napsalo mi to, že novější verze, než mám já, je teprve ve výrobě
Škoda, že jsem to v něm nezkusil na té testovací stránce, ale právě v Opeře, která to umí a zobrazovala dobře. Jde o to, jestli takové podobné věci (kterých je v různých obdobích hafo), co je někdy budou běžně prohlížeče umět, vůbec dělat. Jestli není lepší, dělat pouze osvědčené (i když pracnější).
Divné, já měl za to že FF4 tohle už ovládá.
No každopádně validace a ošetření dat je nutnost v každém ohledu, když aplikace přebírá nějaké data od uživatele - to je základní pravidlo - nikdy nevěřit uživateli.
Další možností je udělat to přes tři selecty -
A následně v PHP složit a zvalidovat -
Já měl úplně první myšlenku, udělat tam dva text vedle sebe. První s rokem a s value="2011", s tím, že bych to pak změnil a druhý textový na datum (15. 6.). Ale to by se blbě třídilo (ačkoli kdyby se to převedlo na xxxx-xx-xx). Nicméně tohle mé je fuk.
Tohle mé je pouze jedna z mnoha věcí, kdy něco nového nezavedeného zatím "není to pravé ořechové".
Jak říkám buď tam nechej klasický textbox a v PHP (samozřejmě) validuj. Případně k tomu přilepit JS kalendář.
A nebo použít ty 3 selecty. Ostatní možnosti bych řekl že nejsou moc ergonomické.
Co se týče toho mého, dám tam pouze onu validaci a za nějaký čas bude FF umět i "date".
Ale fakt o to mé vůbec nejde.