Nette 2.0.2 a ID formuláře
- ViPEr*CZ*
- Člen | 817
Zdravím. Zkouším nově vypuštěné Nette 2.0.2 a zjistil jsem, že se mi automaticky negenerují IDéčka u formulářů. Zkoušel jsem to na formulářích vytvořených přes komponentu a do ID se generuje pouze „frm-“. To je tak schválně nebo se tam někde sekne ten zbytek a neprotlačí se tam jméno komponenty k tomu frm- ?
PS: zkoušel jsem pro jistotu i sandbox z aktuálního balíku
Editoval ViPEr*CZ* (31. 3. 2012 9:23)
- Tomáš Votruba
- Moderator | 1114
ViPErCZ napsal(a):
Zdravím. Zkouším nově vypuštěné Nette 2.0.2 a zjistil jsem, že se mi automaticky negenerují IDéčka u formulářů. Zkoušel jsem to na formulářích vytvořených přes komponentu a do ID se generuje pouze „frm-“. To je tak schválně nebo se tam někde sekne ten zbytek a neprotlačí se tam jméno komponenty k tomu frm- ?
PS: zkoušel jsem pro jistotu i sandbox z aktuálního balíku
Ahoj, stáhnul jsem si zmíněnou verzi a např. v sandboxu na
sandbox/www/sign/in
se mi id generují správně. Pokud máš na
mysli formuláře vytvořené přes vlastní komponentu, zkusil bych hledat
chybku tam.
- ViPEr*CZ*
- Člen | 817
Hmm to je divný… jak to kruci… mně se tam generuje toto:
<form action="/sandbox/www/sign/in?do=signInForm-submit" method="post" id="frm-">
Generuje mi to frm-* a místo hvězdičky by mělo být signInForm, ale není tam nic. Zkouším na localhostu s PHP 5.3.9 | Server Apache/2.2.21 (Win32) PHP/5.3.9 | Nette Framework 2.0.2
- Tomáš Votruba
- Moderator | 1114
Sry, id formuláře mám stejně „blbě“, koukal jsem na id prvků.
Ještě testnu dev
verzi.
Jo, tam už ok, takže jedině zkusit tu.
Zřejmě s tím souvisí tento a tento commit
Editoval Schmutzka (31. 3. 2012 11:40)
- ji_ri_k
- Člen | 44
Taktéž jsem upgradoval o víkendu na nově vydané Nette 2.0.2 hned několik projektů a teď řeším problém s nevygenerovaným id formulářů + (Nette\Diagnostics\Logger::defaultMailer()).
Na stránce mám několik formulářů a všechny mají stejné id. Pro aplikaci to není zásadní problém, ale v HTML kódu musí být ID jedinečné což není. Když mám na stránce 20 formulářů, všechny mají nyní stejné id ⇒ tedy id=„frm-“.
Jestli to dobře chápu z postu výše a z komentářů zde tak by toto nemělo být součásti Nette 2.0.x ale až Nette 2.1.x
Jak to tedy je/bude? Protože id=„frm-“ není předpokládám správné chování.
- ViPEr*CZ*
- Člen | 817
No to máš ok ještě… ale pokud používá app nějaké jsko a spolehá se na jedinečná IDéčka nebo máš-li css nastavené na jedičná IDéčka, tak je to v pytli. Podle toho co psal David a jestli to dobře chápem oba, tak by to mělo být až od 2.1. (i když pro mě to je docela nepříjemné chování… to já s upgradem ještě počkám)
- ViPEr*CZ*
- Člen | 817
@radas: Mně se to naopak líbí používat… vím jak se jmenuje formulář a vím, že framework má konvenci před jméno přidat „frm-“, tak mi přijde už jako opruz toto „nezneužít“ pro moji lennost a definici vlastního nového ID vypustit.
@David: toto už jsem avizoval prvním příspěvkem… super a díky.
Editoval ViPEr*CZ* (4. 4. 2012 16:57)
- radas
- Člen | 225
ViPErCZ napsal(a):
…a vím, že framework má konvenci před jméno přidat „frm-“, tak mi přijde už jako opruz toto „nezneužít“ pro moji lennost a definici vlastního nového ID vypustit.
Ano, v současné době tuto konvenci má, ale do budoucna ji mít nemusí, tak jako se to stalo ve větvi 2.1.
- ViPEr*CZ*
- Člen | 817
Díky za link. Tuhle diskuzi jsem ještě nečetl. No to je docela nemilé co se tam píše… používám IDéčka a přišlo mi to normal si to IDéčko vzít, i když je generované. No asi nezbyde nic jiného než se přizpůsobit.
radas napsal(a):
ViPErCZ napsal(a):
…a vím, že framework má konvenci před jméno přidat „frm-“, tak mi přijde už jako opruz toto „nezneužít“ pro moji lennost a definici vlastního nového ID vypustit.
Ano, v současné době tuto konvenci má, ale do budoucna ji mít nemusí, tak jako se to stalo ve větvi 2.1.
- petr.pavel
- Člen | 535
radas napsal(a):
…
Jak psal David a ostatní, není nejlepší využívat generovanou hodnotu id.
Myslím, že to je také důvod, proč teď na stránkách doplňků nejde zobrazit formulář pro odeslání komentáře. Že by David kázal vodu a sám pil víno? ;-)