1

フォームを作成し、ZF2でチェックボックスを追加していますが、配列表記を使用すると、何らかの理由でオプションが送信されません。

したがって、この:

class PageForm extends Form
{
  public function __construct($name = null)
  {
$checkbox = new Element\Checkbox('system');
    $checkbox   ->setLabel('System Page')
                ->setUseHiddenElement(true)
                ->setCheckedValue("1")
                ->setUncheckedValue("0");


    $this->add($checkbox);
}
}

正しく動作しますが、これは次のとおりです。

     class PageForm extends Form
    {
      public function __construct($name = null)
      {
   $this->add(array(
             'type' => 'Checkbox',
             'name' => 'checkbox',
             'options' => array(
                     'label' => 'A checkbox',
                     'use_hidden_element' => true,
                     'checked_value' => 'good',
                     'unchecked_value' => 'bad'
             )
    }
    }

チェックボックスを作成しますが、チェックされている値とチェックされていない値がないので、何か間違ったことをしているのか、ステップが欠落しているのでしょうか。(例はドキュメントから直接引用したものです)

これはビューのコードです:

$form = $this->form;
$form->setAttribute('action', $this->url('page', array('action' => 'add')));
$form->prepare();
echo $this->form()->openTag($form);
echo $this->formCollection($form);
echo $this->form()->closeTag();

ありがとう

4

1 に答える 1

1

代わりに Multicheckbox を使用しないのはなぜですか?

 $multiCheckbox = new Element\MultiCheckbox('multi-checkbox');
 $multiCheckbox->setLabel('What do you like ?');
 $multiCheckbox->setValueOptions(array(
         array(
                 '0' => 'Apple',
                 '1' => 'Orange',
                 '2' => 'Lemon'
         )
 ));
 $form = new Form('my-form');
 $form->add($multiCheckbox);
于 2013-03-01T12:10:48.530 に答える