Nastavení class a defaultní hodnoty textarea

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
czhDavid
Člen | 14
+
0
-

Pokud chcete nastavit u textarea CSS třídu a zároveň defaultní hodnotu a zapíšete je v pořadí
$form->addTextarea(‚hello‘,‚world‘,‚10‘,‚10‘)
->getControlPrototype()->class(‚horni‘)
->setValue(‚text‘);

pote se setValue nezapíše mezi tagy <textarea> text </textarea> , ale
<textarea value=„text“> </textarea>

pokud ovšem zapíšete
$form->addTextarea(‚hello‘,‚world‘,‚10‘,‚10‘)
->setValue(‚text‘)
->getControlPrototype()->class(‚horni‘);

je vše v pořádku.

smasty
Člen | 90
+
0
-

To je v poriadku. setValue() vracia objekt seba samého – Nette\Forms\BaseControl – tzv. fluent interface, kdežto getControlPrototype() vráti reprezentáciu jeho HTML ako inštanciu Nette\Utils\Html.

Stačí sa pozrieť do Public API.

mkoubik
Člen | 728
+
0
-

V tom prvním případě voláš metodu setValue na Nette\Utils\Html, ne na prvku. Navíc na tohle se používá metoda setDefaultValue.