podpora HTML5 formulářů v Nette

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
jtousek
Člen | 951
+
0
-

Zdravím,

HTML5 přidává do formulářů mnoho nových možností – hlavně atribut type. Máme možnost použřít typy jako number, url, color, email, date a další.
Jak se toto bude řešit v Nette? Pomocí dalších metod $form->add…() nebo jinak?

Doporučuji:
http://zdrojak.root.cz/…navstevnika/

Cifro
Člen | 245
+
0
-

To by nebolo od veci pridať podporu už teraz pre HTML 5, bola by to ďalšia featura Nette a bola by to aj ďalšia položka na túto stránku /cs/hlavni-prednosti :))

Napr. pre ajax by mohlo Nette generovať pri odkazoch na ajaxový požiadavok aj data-remote="true" atribút namiesto ručného vkladania class="ajax". Ako to funguje môžete vidieť v tomto videu (cca od 2:30)

Editoval Cifro (29. 6. 2010 14:19)

Ani
Člen | 226
+
0
-

Mě přijde, že se stejně ve W3C ještě parkrát pohadají a něco bude nakonec úplně jinak, navíc než to bude použitelné v prohlížečích, tak uteče nějaký rok (2020 :) ). Takže se to pak může chovat uplně jinak, aby s tím pak nebylo víc problémů.

Lopata
Člen | 139
+
0
-

Ony hlavně ty formulářové prvky vůbec nejsou složité. Pokud to někdo chce, může si to celkem snadno dopsat, kdyby podpora ze strany Nette nebyla. Zárověň to pak také půjde snadno změnit, kdyby se ve W3C pohádali.
Nevím, jestli má cenu zařadit to do distribuce (kvůli nízké podpoře ze strany prohlížečů by to stejně téměř nikdo nepoužíval), ale do extras určitě. Cifro má pravdu, že s brzkou implementací nových technologií se dobře machruje. S rychlou implementací namespaces sme přeci machrovali také, ne? :-)

jtousek
Člen | 951
+
0
-

Ani napsal(a):

Mě přijde, že se stejně ve W3C ještě parkrát pohadají a něco bude nakonec úplně jinak, navíc než to bude použitelné v prohlížečích, tak uteče nějaký rok (2020 :) ). Takže se to pak může chovat uplně jinak, aby s tím pak nebylo víc problémů.

To je naprostý nesmysl. Prohlížeče už to implementují a tahle specifikace se měnit už nebude.
HTML5 není o tom, že se každou chvíli něco změní a v roce 2020 bude nějakej výsledek, ale o tom, že se snaží pokrýt spoustu věcí a nejde to udělat naráz (jako se o to snažilo XHTML 2.0).

Lopata napsal(a):

Ony hlavně ty formulářové prvky vůbec nejsou složité. Pokud to někdo chce, může si to celkem snadno dopsat, kdyby podpora ze strany Nette nebyla. Zárověň to pak také půjde snadno změnit, kdyby se ve W3C pohádali.
Nevím, jestli má cenu zařadit to do distribuce (kvůli nízké podpoře ze strany prohlížečů by to stejně téměř nikdo nepoužíval), ale do extras určitě. Cifro má pravdu, že s brzkou implementací nových technologií se dobře machruje. S rychlou implementací namespaces sme přeci machrovali také, ne? :-)

Ano samozřejmě, že to jde snadno dopsat, ale myslím, že tohle by mělo být zařazené přímo v Nette. Pokud jde o implementaci v prohlížečích, uznávám, že je zatím minimální, na druhou stranu je zpětně kompatibilní – prohlížeč, který neumí nic speciálního s <input type=„email“ /> použije prostě type=„text“. Vidím to tak že nemá smysl to nepoužívat. Kdo má nový prohlížeč, poskytne mu to vyšší komfort, kdo má starý, nic se nezmění.

Editoval jtousek (29. 6. 2010 13:20)

Patrik Votoček
Člen | 2221
+
0
-

jtousek napsal(a):

To je naprostý nesmysl. Prohlížeče už to implementují a tahle specifikace se měnit už nebude.

A to jsi četl kde? To že to prohlížeče implementují je super. Ale neznamená to že se nemůže něco změnit.

Ano samozřejmě, že to jde snadno dopsat, ale myslím, že tohle by mělo být zařazené přímo v Nette.

Do nette ano ale myslím si že je až příliš brzo tam tohle dávat. (100% podporu má jenom Chrome 5+ a obstojnou má Opera. Zbytek to má rozimplementované.

na druhou stranu je zpětně kompatibilní – prohlížeč, který neumí nic speciálního s <input type=„email“ /> použije prostě type=„text“. Vidím to tak že nemá smysl to nepoužívat. Kdo má nový prohlížeč, poskytne mu to vyšší komfort, kdo má starý, nic se nezmění.

To je jediná super věc, která tam je. A doopravdy to funguje super. Horší to je ale u nejrůznějších JS knihoven.

Obecně největší problém u HTML5 formulářů je že sice je sepsáno jaké prvky obsahuje. A jak je definovat. Ale pokud vím tak specifikace toho jak to má fungovat pokud něco vyplníš špatně je ještě v plenkách. Proto bych s tím doopravdy nespěchal. Pokud někdo udělá addon tak jedině dobře ale do „jádra“ nette bych to zatím necpal.

srigi
Nette Blogger | 555
+
0
-

To s tym rokom 2020 (ako je to napisane na roote) je velky mytus. Bavil som sa o tom s typkom z Opery na #geeksontheroad a ten mi povedal, ze je uplne bezpecne pouzivat veci ako type=„date“, type=„color“

Ta vec okolo roku 2020 sa ma totiz tak, ze dovtedy musia mat vyvojari browserov stabilne testsuity, ktore prejdu voci testsuitam w3c (vobec neviem co to znamena). Teraz to browseri proste implementuju bez toho.

David Grudl
Nette Core | 7769
+
0
-

jtousek napsal(a):

Jak se toto bude řešit v Nette? Pomocí dalších metod $form->add…() nebo jinak?

Stačí vytvořit klasické textové políčko addText() a jen mu změnit type na controlPrototype. Aby to bylo snadnější, přidal jsem metodu setType, viz https://forum.nette.org/…-formularich

David Grudl
Nette Core | 7769
+
0
-

Cifro napsal(a):

Napr. pre ajax by mohlo Nette generovať pri odkazoch na ajaxový požiadavok aj data-remote="true" atribút namiesto ručného vkladania class="ajax".

Obecně mezi data-remote="true" a class="ajax" není rozdíl, ale z hlediska srozumitelnosti u mě vede to druhé.

Ako to funguje môžete vidieť v tomto videu (cca od 2:30)

Ufff, díky za odkaz, jsem netušil, že Rails 2 byly taková prasárna :-) Neuvěřitelné, že teprve teď objevili unobtrusive javascript nebo automatické escapování. Možná se ve verzi 4 dostanou ke kontextově senzitivnímu escapování :-)

Cifro
Člen | 245
+
0
-

David Grudl napsal(a):

Ufff, díky za odkaz, jsem netušil, že Rails 2 byly taková prasárna :-) Neuvěřitelné, že teprve teď objevili unobtrusive javascript nebo automatické escapování. Možná se ve verzi 4 dostanou ke kontextově senzitivnímu escapování :-)

:D :D

To kontextovo senzitívne escapovanie, je fakt killer featura Nette.