PHP Nette AJAX - dynamický formulář s multiselect - neposílá hodnoty (This field is required)

PHP Nette AJAX - dynamický formulář s multiselect - neposílá hodnoty (This field is required)

Dobrý den,

mám v mojí PHP Nette aplikaci formulář, který se překresluje pomocí AJAX ve snippetu a obsahuje multiselect. Překreslení ajaxem probíhá v pořádku a formulář obsahuje správná data, avšak při odeslání dostávám stále dokola hlášku This field is required. Data jsou však skutečně odeslána, ale metoda succeeded je nepřijme. Konkrétně pole array z muliselect pro proměnnou $acl_resource je prázdné - Tracy v kontejneru ale POST data vidí....

Toto je výstup:
---------------------------
DUMP $values v aplikaci
---------------------------

Nette\Utils\ArrayHash

acl_tag => "group1" (6)
acl_resource => array ()
acl_role => "powerusers" (10)





---------------------------
TRACY CONTAINER
---------------------------

httpData private =>

acl_resource =>
0 => "dfgdgfdfdg"
1 => "Fdfsdfsdf5"
2 => "fdgfdgfdg"
3 => "sfdgfdgdfgd"
send => "Změnit"
_token_ => "1dia9tcaqlQh5bfs9zHm9mrM8Cnvi0j+b+Bg4="
acl_tag => "group1"
acl_role => "powerusers"
_do => "permissionsMultiEditForm-submit"





ODPOVĚĎ


Dobrý den,

data ($values) z formu z multiSelect (tzn. array - pole) překresleného AJAXem je v Nette třeba brát v surové (raw) podobě přes getHttpData:


ŘEŠENÍ
---------------------------

public function permissionsMultiEditFormSucceeded($form, $values)
{
$data = $form->getHttpData(form::DATA_LINE, 'acl_resource[]');
dump($data);
}


Jak se ti článek líbil?

Komentáře (0)

Přidat komentář