Atributy formulařových prvků v Nette 2.2

- David Matějka
 - Moderator | 6445
 
se setOption mohlo fungovat maximalne tak nastaveni tridy nebo id, pouzij getControlPrototype

- sKopheK
 - Člen | 207
 
Šlo mi o nastavení custom atributu pro další zpracování
v JavaScript – něco jako data-attribute. Spletl jsem si to
s metodou setAttribute(). Obecně mám asi zmatek v tom
nastavování atributů HTML elementů formulářových prvků.
- pro nastavení atributů s názvem podobným výše zmíněnému je nutné
	volat metodu 
setAttribute()přímo na objektu formulářového prvku - atributy s klasickými názvy jdou nastavit na objektu
	formulářového prvku i na jeho HTML elementu metodou 
setXY()nebo jenXY() 
A setOption() slouží teda jen pro nastavení custom
proměnných např. pro vlastní makra apod. a vypisuje se jen
class a id (proč?), které přes ně zadáme?

- awsickness
 - Člen | 98
 
ja se pridam s timto dotazem.
zda je mozne udelat neco takoveho:
$element->setAttribute('class','foo');
a pak v sablone
<input n:name="element" class='bar'>
nyni se mi pozde class foo prepise na bar.
Idealni stav applikace nastavi tridy podle vlastni logiky a koder si jen dopise
tridy, ktere potrebuje
Diky.

- Šaman
 - Člen | 2668
 
awsickness napsal(a):
ja se pridam s timto dotazem.
zda je mozne udelat neco takoveho:$element->setAttribute('class','foo');a pak v sablone
<input n:name="element" class='bar'>nyni se mi pozde class foo prepise na bar.
Idealni stav applikace nastavi tridy podle vlastni logiky a koder si jen dopise tridy, ktere potrebuje
Diky.
Takhle jen napojíš zpracování prvku na tvůj ručně vykreslený input. Jestli chceš, aby se ti vykreslil i se všemi atributy, použij
{form fooBar class => 'ajax'}
{label foo /}: {input foo}
{label bar /}: {input bar, class => 'bar', placeholder => 'Bar input'} # výsledkem bude class="foo bar"
{/form}
					Editoval Šaman (21. 8. 2014 20:25)

- awsickness
 - Člen | 98
 
tak bohuzel ani takto to nefunguje. stale se mi prepisuje hodnotou pouzitou v sablone.