ako ziskat ClientScript daneho formulara?
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- Matúš Matula
- Člen | 257
Ahoj,
chcem ziskat ClientScript pre dany formular. v presenteri mam tovarnicku
<?php
$form = new AppForm($this, 'jokeForm');
$this['jokeForm']->getRenderer()->getClientScript()
?>
ale hodi to vynimku
Argument 1 passed to InstantClientScript::__construct() must be an instance of Form, null given
. Formular by mal byt ukotveny k presenteru tym volanim
<?php
$form = new AppForm($this, 'jokeForm');
?>
ci sa mylim?
Vdaka za kazdu radu.
- redhead
- Člen | 1313
je to proto, že form se přiřadí do rendereru až ve metodě render() aspoň podle API. Což mi přijde hodně divné. Nemohl by se přiřadit rovnou v constructoru?? Jesli to něčemu nevadí. Ale přijde mi, že pokud chceme renderovat formulář, je to hlavní objekt pro renderer, ze kterého vychází při renderování, měl by ho znát od začátku…
- Matúš Matula
- Člen | 257
vdaka za odpoved a vysvetlenie. Vyriesil som to nakoniec nasledovne:
<?php
$script = new InstantClientScript($form);
$form->getRenderer()->setClientScript($script);
$script->doAlert = 'if (element) element.focus(); $.jGrowl(message);';
?>