Přístupy k formulářovým prvkům aneb jak jsem si nabil hubu
Ach jo řekl jsem si, když jsem ve své neomylnosti, tvrdil něco
co se ukázalo jako blábol. Vždycky se v dobré víře snažím, šířit
neproprietární přístup jak z hlediska HTML
tak i klientského skriptování. Obzvláště na kolegy jsem jak pes a za proprietární kód si
vyslechnou plno výtek.
Nedávno se mi “chytrosti” vrátili jako bumerang. Nejdříve jsem poradil někomu v diskusi
nechť pro přístup k formulářovým prvkům použije konstrukci
document.forms("jmeno_formulare").elements("jmeno_prvku")
Zdá se na ní něco divného lepe řečeno propritárního? Mě tedy absolutně ne. Neuběhla
hodina a vydal jsem se do říše divů. Zrovna jsme s kolegou předělávali web aplikaci
a protože to co káži jiným sám dodržuji použil jsem výše zmíněnou konstrukci. Překvapení, které mi
přichystala Mozilla bylo nemilé, tato část kódu opravdu nemohla fungovat.
Výše uvedený zápis, je proprietární řešení funkční pouze v rodině prohlížečů Internet Explorer.
Správný přístup
Pokud si uvědomíme, že formulářové prvky budou, zřejmě prezentovány v určité
kolekci, pak můžeme využít následující dva přístupy
document.forms["jmeno_formulare"].elements["jmeno_prvku"]
a nebo
document.jmeno_formulare.jmeno_prvku
Jako další vhodný způsob se jeví použiti DOM, kdy
bychom jednotlivým formulářovým prvkům přidělily atributy id a k jednotlivým prvkům pak přistupovali
následujícím způsobem.
document.getElementById("id_formularoveho_prvku");
Nuže kázal jsem vodu a sám jsem si dopřával víno. Po tomto vystřízlivění jsem si
opět dokázal jak je důležité kód testovat a nejen o tom mluvit.
Související články
Související epizody CZ Podcastu
- #217 · Ivo Lukačovič
O Windy, JavaScriptu a budování firem.
- #3 · Java 6 SE, Vývoj webových aplikací
Dagi a Filemon o novinkách v Javě 6 a webových frameworcích.