Podivně přenášený disabled checkbox
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- Mikulas Dite
- Člen | 756
Ahoj, nejsem si na 100% jistý, ale mam pocit, že Nette 9.3 přenáší checkbox i když je disabled. Kdyby to přenášelo hodnotu, tak je to docela dobré, ale bohužel isset je vždy true a hodnota vždy false.
Testoval sem to v veliké aplikaci a nikde jinde – mam chybu já, nebo je to tak i v čistém Nette?
- marek.dusek
- Člen | 99
Zda se, ze pletes vice veci dohromady:
- „prenaseni“ ve smyslu hodnoty z prohlizece do POSTu neni mozne, protoze to zadny nedela (od toho tam to disabled je; jinak bys pouzil readonly)
- pokud prvek pridas do formulare, tak tam existuje i pri vyhodnocovani (ne hodnota z POSTu, ale prvek jako takovy z definice formulare s pripadnou default hodnotou);
Asi by bylo nejlepsi, kdybys popsal, co se vlastne snazis udelat.
- Mikulas Dite
- Člen | 756
- Ano, to není, proto se mi to zdá divné.
- Taky souhlasím. To není vůbec problé, jasně že můžu použít třeba isDisabled. Avšak pokud mi vrací hodnotu na getValue(), tak z toho nemůžu zjistit jestli byla disabled nebo ne. Měl sem za to, že každý jiný disabled element (kromě checkboxu) se do formu v onSubmit nedostane. V Nette.
- hrach
- Člen | 1838
norbe napsal(a):
Problém u checkboxu bude asi v tom, že pokud není zaškrtnutý, tak se nepřenáší. Na serveru tedy není možné zjistit, jestli je nezaškrtnutý, nebo nastaven na diabled.
na to se dělá jednoduchý workaround, nevím jestli je v nette, ale jestli ne, tak se to dá jednoduše vyřešit:
<input type="hidden" name="trvale_prihlaseni" value="0" />
<input type="checkbox" name="trvale_prihlaseni" value="1" /> Trvalé přihlášení