2014-11-26 5 views
1

im довольно новый для ZF2, и у меня есть довольно странная проблема. Я создал простой флажок с использованием массивов, и установил проверенное значение на хорошее и непроверенное значение на плохое. Но когда я отправляю свою форму, URL-адрес показывает, что когда флажок установлен, он отправляет ..... checkbox = bad & checkbox = хорошо ... Я не знаю, почему.Zendframework 2 Checkox

class SearchForm extends Form { 
public function __construct($name = null){ 
    parent:: __construct('Search'); 
    $this->setAttribute('method', 'get'); 
    $this->setAttribute ('enctype', 'multipart/formdata'); 
    $this->add(array(
      'type' => 'Zend\Form\Element\Checkbox', 
      'name' => 'checkbox', 
      'options' => array(
        'label' => 'A checkbox', 

        'checked_value' => 'good', 
        'unchecked_value' => 'bad', 


      ), 

    )); 
+1

Zend добавляет скрытый ('unchecked') флажок - при использовании' GET' так работают все HTML-формы. – AlexP

ответ

0

Не 100% уверен, что это и есть ответ на этот вопрос и не в состоянии проверить прямо сейчас, но это, вероятно, делать со скрытым элементом, что флажок использует попробовать:

$form->add(array(
'type' => 'Zend\Form\Element\Checkbox', 
'name' => 'checkbox', 
    'options' => array(
     'label' => 'A checkbox', 
     'use_hidden_element' => false, 
     'checked_value' => 'good', 
     'unchecked_value' => 'bad' 
    ), 
)); 
3

Потому что по умолчанию Zend\Form\Element\Checkbox имеет use_hidden_element is true.

Если установлено значение истинно (который по умолчанию), помощник вида будет генерировать скрытый элемент , который содержит непроверенную значение. Поэтому, когда с использованием пользовательского непроверенного значения, этот параметр должен быть установлен в значение true.

Вы используете метод GET. Из couse вы видите два значения в строке запроса: для флажка и для скрытых элементов.

См. Более подробно ZF2#Checkbox.

+0

Я уже пробовал use_hidden_element => false, но тогда мой флажок не будет отправлен вообще. – newbie

+0

@Markus Я ответил только, почему это происходит, когда метод «GET» ('checkbox = bad & checkbox = good..'). Но почему вы хотите использовать специальные значения для флажков? Флажки изменяют логическое состояние ('' true/false "или' "checked/unchecked" ') некоторого параметра.P.S. Я не совсем понимаю, что вы хотите реализовать. – voodoo417

Смежные вопросы