/ / jQuery mobile a jedinečné ID atribúty vo formulároch - jquery, html, jquery-mobile

jQuery mobilné a jedinečné atribúty ID na formulároch - jquery, html, jquery-mobile

Mám otázku týkajúcu sa použitia atribútu ID vo formulároch pri používaní jQuery mobile. Aj keď sa zdá, že to, čo mám funkčné, by som chcel všetko uviesť do konzistentného a presného stavu.

Mobilná dokumentácia jQuery uvádza:

Pri konštrukcii formulárov, ktoré sa majú použiť v jQueryMobil, väčšina štandardných pokynov používaných na vytváranie formulárov, ktoré sa odosielajú prostredníctvom bežného príspevku HTTP alebo sa stále uplatňujú. Jednu vec však treba mať na pamäti, že atribúty id ovládacích prvkov formulára musia byť nielen jedinečné na danej stránke, ale aj jedinečné na všetkých stránkach v rámci webu. Dôvodom je, že jednostránkový model navigácie jQuery Mobile umožňuje, aby sa v DOM súčasne nachádzalo veľa rôznych „stránok“, preto musíte byť opatrní pri používaní jedinečných atribútov id, takže v DOM bude iba jeden z každého (a samozrejme ich nezabudnite správne spárovať s prvkami štítkov prostredníctvom atribútu for).

Mám viacstránkový web. 1 formulár na stránku. Všetky formuláre na všetkých stránkach majú jedinečné ID založené na názve stránky (napr. Stránka „return-user-details.php“ získa ID formulára id = "rudForm").

Mnohé z týchto stránok však potrebujú rovnaký vstuppole (prvok textového poľa (aka forma control?) pre meno používateľa). Všetci používajú atribút a hodnotu name = "username". Nemajú atribút ID.

V súčasnosti je toto konkrétne pole prezentované ako:

<legend>Username:</legend>
<input type="text" name="username" maxlength="20" /><label for="username">&nbsp;</label>

Moja hlavná otázka znie, či to potrebujem alebo niejedinečné ID pre textové pole používateľského mena na všetkých stránkach, ako aj ID formulára, alebo by som mohol urobiť pre toto pole na všetkých stránkach ID = "username"? Myslím si, že odpoveď na túto otázku by sa vzťahovala aj na každý kontrola prvku / formy? (a preto by asi bolo dobré použiť pre každú identifikáciu vo formulári na stránke „predponu stránky“).

Ako som už povedal, v súčasnosti môžem používať rôzne stránkyz ktorých každé obsahuje toto pole a zdá sa, že fungujú dobre, a preto moja ďalšia otázka súvisí s tým, čo by sa mohlo pri použití vyššie uvedeného pokaziť? Aj keď chápem abstraktný pojem „viac stránok prítomných v DOM“ (napr. Vyžadovanie jedinečnosti vecí), nerozumiem jQuery dostatočne dobre na to, aby som pochopil, ako sa to môže prejaviť v problémoch. Môže to mať za následok problémy so stylingom / formátovaním? Alebo možno odosielate aj nesprávne údaje?

Veľká vďaka,

olúpiť

odpovede:

2 pre odpoveď č. 1

Nikdy nie je platné pre viac položiekrovnaký atribút id v jednom dokumente HTML. Ak neurčíte ID, jeden sa pre vás vygeneruje za scénami alebo zostane prázdny. V žiadnom prípade by nemalo dôjsť ku kolízii atribútov id.

edit: Ovládacie prvky znova používame aj na našej mobilnej stránke jQuery a rovnako ako tie vaše, žiadny z našich nešpecifikuje atribút id. Funguje to dobre a vo výrobe sa pracuje takmer celý rok.