Formuláře – automaticky se vkládá text do class
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- bluray
- Člen | 178
Dobrý den, mám tento formulář:
$form = new Nette\Application\UI\Form();
$form->addText('email')
->setRequired('Nezadal jsi email.')
->setAttribute("class", "inputwrapper animate1")
->setAttribute("placeholder", "Zadej email");
$form->addPassword('password')
->setRequired('Nezadal jsi heslo.')
->setAttribute("class", "inputwrapper animate2")
->setAttribute("placeholder", "Zadej heslo");
$form->addSubmit('send', 'Přihlásit se')->setAttribute("class", "inputwrapper animate3");
// call method signInFormSucceeded() on success
$form->onSuccess[] = $this->signInFormSucceeded;
return $form;
Problém je s tím setAttribute(„class“, …) protože vygeneruje class=„inputwrapper animate1 text“ nebo class=„inputwrapper animate3 button“ podle toho v jakým elementu ho použiju. jak zabránit tomu aby mi tam přidával to text a button? díky
- David Matějka
- Moderator | 6445
Dela to default form renderer, viz https://api.nette.org/…rer.php.html#…, takze to vypnes asi takhle:
$form->renderer->wrappers['control']['.text'] = '';
Editoval matej21 (10. 6. 2014 17:13)
- David Matějka
- Moderator | 6445
Budes muset smazat tu class pro jednotlivy typy (viz ten kod). Nejlepsi bude, kdyz si ten renderer podedis (pripadne si udelas tovarnicku, ktera ho nakonfiguruje) a pro formular jen nastavis ten tvuj renderer