V tejto časti venovanej widgetu Dojox form manager, budú predstavené spôsoby ako identifikovať element, ktorý spustil observer. Celkovo budú predstavené štyri spôsoby, ktorými je možné dosiahnuť rovnaký výsledok. Za asi najjednoduchší spôsob je možné považovať posledný predstavený spôsob.Pre jednoduchú demonštráciu bude použitý Dojox form manager s tromi dijitmi Textbox. Zápisy Dojox form managera sa budú trochu odlišovať, keďže každý spôsob identifikácie widgetu vyžaduje určitú kombináciu HTML atribútov. Výsledkom každého programového kódu bude vloženie textu Done do poľa formulára, na ktorom bol aktivovaný observer.
Prvý spôsob identifikácie elementov
Prvý spôsob identifikácie patrí k tým jednoduchším. Vyžaduje, aby elementy formulára obsahovali atribúty id a name. Pre identifikáciu elementov bude použitá kombinácia objektu formWidgets a metódy byId(). Zároveň bude využitý parameter observera name, ktorý je kľúčový pre správnu identifikáciu elementu. Príklad: Identifikácia elementov po spustení observera.
Druhý spôsob identifikácie elementov vychádza z prvého, pričom je založený na neexistencii HTML atribútov id. Jeho jadro tvorí získanie hodnoty atribútu id wrappera (widgetu), ktorá je rovnaká ako hodnota atribútu id cieľového elementu. Rozdiel je len v prefixe widget_, ktorý programový kód odstraňuje a v čísle zabezpečujúcom unikátny identifikátor. Príklad: Hodnota atribútu id prvého widgetu.
1
widget_dijit_form_TextBox_1
Príklad: Hodnota atribútu id elementu v prvom widgete.
1
dijit_form_TextBox_1
Odstránenie prefixu widget_ sa v programe vykonáva prostredníctvom funkcie replace(). Pre prístup k atribútu id widgetu je použitý objekt domNode. Príklad: Identifikácia elementov po spustení observera.
Tretí spôsob identifikácie elementov je založený na atribútoch name, id, data-dojo-attach-point a mape hodnôt HTML atribútov name a data-dojo-attach-point. Mapa hodnôt, ktorá je umiestnená do premennej fields obsahuje dvojicu key:value v podobe name:data-dojo-attach-point. Prostredníctvom hodnoty atribútu data-dojo-attach-point je možné identifikovať aktívny element. Potom už len stačí získať hodnotu atribútu id aby bolo možné pracovať s metódou byId(). Príklad: Identifikácia elementov po spustení observera.
Posledný, najjednoduchší spôsob identifikovania poľa formulára, je prostredníctvom tretieho parametra metódy observera. Tretí parameter obsahuje dijit (objekt), prostredníctvom ktorého je možné manipulovať s daným poľom formulára. Funkcia observera má celkovo štyri parametre. Prvý a posledný sú rovnaké. Obsahujú aktuálnu hodnotu.Príklad: Rýchly prístup k polu formulára, ktoré spustilo observer.
V prípade, že poznáte iné riešenia ako identifikovať elementy pri použití observera, podeľte sa o ne prostredníctvom komentára. V ďalšej časti venovanej widgetu Dojox form manager sa opäť vrátim k atribútom data-dojo-attach-point a data-dojo-attach-event. 15.6.2013 (aktualizované 15.3.2014), Matej LednárKategória: DojoDojo,programovanie,JavaScript,dojo,dojox/form/Manager,dijit/registry,dojo/_base/lang,input,span,data-dojo-props,mixin,byId,observer,element,data-dojo-attach-pointŽiadna časť tohto článku nesmie byť reprodukovaná bez uvedenia autora a URL na túto stránku.Viac informácií nájdete v sekcii O projekte.