odeslaná data z formuláře $form->values vs $form->getHttpData()
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- vojty
- Člen | 19
- Nette Framework (version 2.0.6 released on 2012–10–01, https://nette.org)
- php 5.3
Ahoj, dumpy vznikly bezprostředně po odeslání mého formu (values, getHttpData). Jakto, že ve values mi chybí hodnota ze selectboxu a v getHttpData zase hodnota checkboxu? Dělám něco špatně? Díky.
Nette\ArrayHash(4) {
name => "tests" (5)
short => ""
action => ""
visibility => FALSE
}
array(5) {
name => "tests" (5)
parent => "64" (2)
short => ""
action => ""
ok => "Uložit" (7)
}
public function createComponentMyForm()
{
$form = $this->context->createForm();
$form->addGroup('Základní informace');
$form->addText('name', 'Název uzlu', 40)
->addRule(Form::FILLED);
if (!empty($nodes)) {
$form->addSelect('parent', 'Nadřazený uzel', $nodes)
->setPrompt('Vyberte nadřazený uzel')
->addRule(Form::FILLED);
}
$form->addTextarea('short', 'Krátký popis uzlu')
->getControlPrototype()->class('small');
$form->addText('action', 'Akce');
$form->addCheckbox('visibility', 'Zveřejnit');
$form->addGroup('Uložit změny');
$form->addSubmit('ok', 'Uložit');
$form->onSuccess[] = callback($this, 'saveNode');
return $form;
}
- Felix
- Nette Core | 1245
FALSE se imho neodesila. A mrkni na implementaci metod $form->getHttpData() vs $form->getValues(), pak to urcite pochopis :-)
- jiri.pudil
- Nette Blogger | 1032
Přesně tak, nezaškrtnutý checkbox se v POST neposílá. V getValues() ti může hodnota selectboxu chybět proto, že se ten selectbox nevytvoří (protože je $nodes empty), a Nette tak nemá tu hodnotu v POST s čím spojit.
- vojty
- Člen | 19
@Jan Tvrdík: $_POST, $form->values, $form->getHttpData()
array(7) {
name => "Nástěnka" (10)
class => ""
parent => "118" (3)
short => ""
action => "Dashboard:" (10)
visibility => "on" (2)
ok => "Uložit" (7)
}
Nette\ArrayHash(5) {
name => "Nástěnka" (10)
class => ""
short => ""
action => "Dashboard:" (10)
visibility => TRUE
}
array(7) {
name => "Nástěnka" (10)
class => ""
parent => "118" (3)
short => ""
action => "Dashboard:" (10)
visibility => "on" (2)
ok => "Uložit" (7)
}