Zend Form - Как установить значения в элементах формы? - PullRequest
2 голосов
/ 05 апреля 2011
array 
'subQuantity' => 
array
  'quantity_6' => string '23' (length=2)
  'quantity_16' => string '23' (length=2)
  'quantity_18' => string '23' (length=2)
'update' => string 'Update' (length=6)

Добрый день! Я только что создал подчиненную форму из моей существующей формы Zend и получаю эти данные при отправке формы. Основываясь на опубликованных данных (количество_ элементов), я хотел бы установить значения для элементов подчиненной формы. Является ли это возможным? Заранее спасибо. ура и счастливого кодирования!

Ответы [ 2 ]

8 голосов
/ 05 апреля 2011

Не уверен, хотите ли вы установить значения отдельных элементов подчиненной формы или всех их сразу.Тем не менее, вы можете использовать метод заполнения.Например:

 $yourForm->populate(array(
    'subQuantity' => array(
        'quantity_6' => 'some value 1',
        'quantity_16' => 'some value 2',
        'quantity_18' => 'some value 3',
    )
));

РЕДАКТИРОВАТЬ:

Вот несколько способов настройки отдельных полей:

$yourForm->populate(array(
        'subQuantity' => array(     
            'quantity_16' => 'some value',
        )
 ));

 // OR

 $yourForm->getSubForm('subQuantity')->getElement('quantity_16')->setValue('some value');

 // this also should work (not sure if it works with underscore in 'quantity_16' though)

 $yourForm->subQuantity->quantity_16->setValue('some value');
0 голосов
/ 07 декабря 2012
    $formSuper = new ContractLink_Form_ContractAllotmentSuper();
    foreach($allotments as $key => $allotment)
    {
        $form = new ContractLink_Form_ContractAllotment();
        $form->populate($allotment);
        $formSuper->addSubForm($form, 'contractAllotmentForm' . $key);
    }
...