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 | 2659
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.