dagblog.
← Archiv

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.

Verze na Medium

Související články

Související epizody CZ Podcastu