Internet Info, s.r.o. Lupa Měšec Podnikatel Root Zdroják DigiZone Slunečnice Vitalia TopDrive KupDnes Navrcholu NovýTarif Dobrý web Weblogy Woko Jagg Computer.cz SK: MojeLinky

Hlavní navigace

Akta X: Web Forms 2.0

Koncem srpna konsorcium W3C prostřednictvím své pracovní skupiny Web Application Formats zveřejnilo první pracovní verzi specifikace Web Forms 2.0. Jedná se o rozšíření funkčnosti formulářů v HTML 4 a důležitý krok na cestě k HTML 5. Původní iniciativy výrobců prohlížečů se posléze ujalo konsorcium W3C.

Tweetni to Twitter Jaggni to! Jagg Del.icio.us Delicious

Koncem srpna konsorcium W3C prostřednictvím své pracovní skupiny Web Application Formats zveřejnilo první pracovní verzi specifikace Web Forms 2.0. Tento dokument definuje rozšíření webových formulářů dobře známých z HTML 4.x a XHTML 1.x. Nápad na rošíření nepochází z W3C, ale vzešel na půdě skupiny WHATWG, kde také dodnes probíhá jeho skutečný vývoj. W3C pouze Web Forms 2.0 převzalo a zařadilo do svého specifikačního procesu. Členové WHATWG také představují jádro pracovní skupiny Web Application Formats. WHATWG sdružuje především výrobce prohlížečů; hlavní slovo ve skupině mají lidé z Opery, Mozilly a Apple.

Web Forms 2.0 vycházejí, na rozdíl od některých jiných, poněkud „ufonských” projektů W3C, důsledně z potřeb praxe. Stávající formuláře (X)HTML už dlouho výrazně zaostávají za požadavky doby. Vytvoření komfortního webového uživatelského rozhraní tak obnáší napsání mnoha řádků procedurálního kódu a často různé ajaxové triky, což je pro většinu z nás neúnosně složité. Výrobci prohlížečů realisticky neusilují o to, aby současné formuláře ve webových prohlížečích nahradila úplně jiná technologie, jako například XForms. Místo toho se pokoušejí formuláře jen rozšířit o další potřebné vlastnosti. A aby se neopakovala historie, kdy se výbcům podařilo fragmentovat trh překotným vymýšlením nových „užitečných“ funkcí, snaží se WHATWG nejdříve navrhnout sadu společných rozšíření. Od W3C je chvályhodné, že se k tomuto částečně konkurenčnímu projektu postavilo čelem, uznalo jeho užitečnost a prosazuje Web Forms 2.0 svou autoritou jako standard. To je mimo jiné také šance, aby Web Forms 2.0 a podobná rozšíření akceptoval také Microsoft, který se ve WHATWG neangažuje. Dlouhodobým cílem je vznik nového standardu HTML 5 a odpovídající verze XHTML.

Teď už se podívejme, jaké hlavní novinky Web Forms 2.0 přinášejí. Nejviditelnější změny se týkají elementu input. K současným typům ( text, password, checkboxradio,

hidden, submit, file a image) přibývá hned 14 nových. Typy date, time, datetime, datetime-local, month, weeknumber,

range, email a url představují běžná vstupní pole pro specifické typy hodnot. Jejich názvy jsou dostatečně výmluvné. Další čtyři – add, remove, move-up a move-down  – mají zvláštní význam v modelu opakujících se prvků, o kterém bude řeč později.

Elementu input přibyly také nové atributy. Atributy min a max určují minimální a maximální možnou hodnotu zadanou do pole. Atribut step definuje přesnost datových, časových a numerických typů. Atribut required říká, zda je dané pole povinné. Některé typy mohou mít atribut pattern s regulárním výrazem, jemuž musí zadaná hodnota vyhovovat.

Použití nových typů a atributů včetně toho, jak by je budoucí prohlížeče mohly implementovat, ilustrují dva následující příklady:

<input type="number" name="count"
  min="0" max="10" step="2" required="required"/>
Web1
<input type="datetime" name="start"
  min="2006-09-07 12:00:00" max="2006-09-07 12:05:00" step="60"/>
Web2

Zajímavou novinkou je element output. Jednoduše a deklarativně by umožnil to, k čemu v současnosti musíme použít span, JavaScript a DOM; tedy měnit hodnotu textu v závislosti na hodnotách zadaných do formuláře. Máme-li tři numerické inputy pojmenované setup-fee, daily-rate a days, jednoduchý kalkulátor ceny mohl vypadat třeba takto:

<output name="price"
  onforminput="value = setup-fee.value + days.value * daily-rate.value">0</output>

Ne vždy autor webu vystačí se statickými formuláři. Typický je scénář, kdy k formuláři potřebujeme přidat sadu polí pro nový záznam, odstranit sadu, měnit jejich pořadí. V HTML 4 je to spousta zábavy. Web Forms 2.0 na tuto potřebu pamatují modelem opakujících se prvků. Sada prvků, s níž chceme manipulovat, musí být uzavřena v bloku, který musí mít atribut id a nový speciální atribut repeat. Právě podle jeho přítomnosti se pozná, že se jedná o opakovací blok. Hodnotou atributu repeat je buď literál „template“, nebo celé číslo. Podle to je blok buď šablonou pro další bloky, nebo běžným blokem s pořadovým číslem patřícím k učité šabloně (explicitně pomocí atributu repeat-template nebo implicitně svou pozicí). K samotnému provádění akcí s bloky slouží už zmíněné nové typy inputu add, remove, move-up a move-down.

Model opakujících se prvků je poměrně komplexní. Používá ještě řadu dalších atributů pro stanovení mezních podmínek a potřebná rozšíření modelu DOM. Místo složitého vysvětlování radši uvedu už jen jednoduchý příklad umožňující přidávat a odebírat řádky:

<tr repeat="template" id="row">
  <td><input type="text" name="jmeno_[row]" value=""></td>

  <td><input type="text" name="prijmeni_[row]" value=""></td>
  <td><button type="remove">Odstranit</button></td>
</tr>
<tr>
  <button type="add" template="row">Přidat řádek</button>

  <button type="submit">Submit</button>
</tr>

První přidaný řádek bude mít atribut repeat="2", vložené inputy se budou jmenovat jmeno_2prijmeni_2.

Kromě zavedení nových ovládacích prvků, rozšíření funkčnosti těch stávajících a modelu opakování přinášejí Web Forms 2.0 ještě další důležité změny. Prvky už nemusí být vnořené ve formuláři (mohou se na formulář odkazovat atributem), formuláře se mohou nořit do sebe, tlačítko Submit dokáže odeslat více než jeden formulář. Důkladně je definována a popsána procedura odeslání formuláře. Upřesněn a doplněn byl model událostí. Zajímavou novinkou je možnost inicializace formuláře externími daty (XML).

Řekl bych, že specifikace Web Forms 2.0 řeší nejpalčivější aktuální problémy s webovými formuláři rozumným způsobem, který má dobrou naději na úspěch. Uživatelé by dále mohli využívat už nabyté znalosti, vendorům bude stačit rozšířit stávající implementace. Přitom je prakticky jisté, že Mozilla, Opera a Apple s tím nebudou zbytečně otálet. Klíčovým momentem pro osud nové generace HTML tak bude přístup Microsoftu. Standardizace u W3C zvyšuje její šance, ale nic nezaručuje. Nezbývá než doufat, že ignorování webových standardů přestává být v módě.

Školení: Linux – Firemní server

Na třídenním školení se naučíte nainstalovat a spravovat kompletní linuxový server do Vaší firmy se všemi základními službami, které potřebujete pro provoz Vaší sítě, firemních emailů a webových stránek.

Podrobnější informace a přihláška

Ohodnoťte jako ve škole:
Průměrná známka 2,76

Přehled názorů

Móda
Marek Zukal 11. 9. 2006 08:05
Nový
├ 
Re: Móda
vd 11. 9. 2006 09:05
Nový
│
└ 
Re: Móda
K2 11. 9. 2006 13:26
Nový
│
 
└ 
Re: Móda
roman3x 2. 11. 2006 04:21
Nový
│
 
 
└ 
Re: Móda
Rudidlo 12. 10. 2008 10:05
Nový
└ 
Re: Móda
Pajuc 12. 9. 2006 10:17
Nový
ie or opera versus firefox ( mozilla)
gigi 12. 9. 2006 14:31
Nový
html5?
andy moon 12. 9. 2006 15:56
Nový
├ 
Re: html5?
Jirka Kosek 12. 9. 2006 21:59
Nový
│
├ 
Re: html5?
Petr 13. 9. 2006 08:28
Nový
│
└ 
Re: html5?
vs 14. 9. 2006 10:48
Nový
│
 
└ 
Re: html5?
Jirka Kosek 14. 9. 2006 12:30
Nový
└ 
Re: html5?
Petr Cimprich 13. 9. 2006 09:57
Nový
 
└ 
Re: html5?
andy moon 13. 9. 2006 19:13
Nový
 
 
└ 
Re: html5?
Ondřej Tůma 16. 9. 2006 15:56
Nový
 
 
 
└ 
Re: html5?
Martin Hassman 16. 9. 2006 16:55
Nový
       

Tento text je již více než dva měsíce starý. Chcete-li na něj reagovat v diskusi, pravděpodobně vám již nikdo neodpoví. Pro řešení aktuálních problémů doporučujeme využít naše diskusní fórum.

Zasílat nově přidané příspěvky e-mailem