dva formuláře na stránce jako controly
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- onny
- Člen | 67
Hezký den,
po promarněných několika hodinách se na vás obracím s prosbou o radu.
Mějme jednoduchý control (widget, chcete li)
class WidgetDetailFormular extends Control
{
public function createComponentDotaz() {
$form = new AppForm();
// nejaky form veci
$form->onSubmit[] = callback($this, 'dotaz');
return $form;
}
public function render() {
echo self::createComponentDotaz();
}
public function dotaz() {
ok, není problém. Ale přibude v layoutu další formulář a už to nefunguje. Při zkoušce názvu formu, tj.
AppForm($this, $name)
Dostávám zásadně po odeslání (vykreslí se správně), Bad Signal Recive – či že neexistuje vůbec.
Děkuji za každou radu.
- sodae
- Nette Evangelist | 250
Vždyť ty si vůbec tu komponentu nezaregistroval, jinak kombinovat češtinu a angličtinu, fuj
<?php
class WidgetDetailForm extends Control
{
public function createComponentQuestionForm() {
$form = new AppForm();
// prvky (priklad: $form->addText('abc', 'Abc:'))
$form->onSubmit[] = callback($this, 'questionFormSubmitted');
return $form;
}
public function render() {
echo $this['questionForm'];
}
public function questionFormSubmitted() {
// ...
}
}
Ale volil bych možnost
class WidgetDetailForm extends AppForm
{
public function __construct(IComponentContainer $parent = NULL, $name = NULL) {
parent::__construct($parent, $name);
// prvky (priklad: $this->addText('abc', 'Abc:'))
$this->onSubmit[] = callback($this, 'questionFormSubmitted');
}
public function questionFormSubmitted() {
// ...
}
}