2014-10-10 1 views
0

У меня есть следующая проблема, которая, кажется, основные: У меня есть HTML, в какой-то флажок, это:Yii - Behaivor chekcbox

<? php echo $ form> checkBox ($ certificate, 'a', array ('id' => 'a')); ?> 

При отправке POST, если флажок не с проверкой, послать 0, и если флажок посылает 1, то же HTML у меня есть этот один:

<? php echo $ form> checkBox ($ certificate, 'head', array ('id' => 'head')); ?> 

с этим последний раз, если флажок не чек послал 0, но если проверить, не посылать ничего. Пока я не понимаю этого поведения, может кто-нибудь мне помочь?

ответ

0

Без дополнительной информации о типах объектов вашей модели «сертификат» (независимо от того, являются ли они строками или целыми числами), я могу только указать, что причина, по которой вы ничего не получаете для выбора «главы», заключается в том, что ее тип несовместим с булевыми.

Если ваш тип «head» установлен в строку, попробуйте установить его на целое.

+0

часть модели выглядит следующим образом :: Certificates.php правила государственных функций() \t { \t \t \t \t возвращение массива ( \t \t \t массив ('а, голова', 'integerOnly' => true), \t \t \t массив ('a, cabeza', 'on' => 'поиск'), \t \t); \t} Очевидно, что моя модель определила гораздо больше полей, но я оставляю их такими же, как они ведут себя по-другому. В моей таблице два поля - это тип INT – Ale

+0

Итак, для всех целей и целей атрибуты «a» и «head» являются точно такими же, кроме имени? Это очень странно. Единственное, что кажется отсутствующим, однако, является «числовым» в вашем правиле: 'array ('a, head', 'numerical', 'integerOnly' => true)'. Может быть, вы оставили это специально? – Jerome

0

Ну, я решил проблему. С CheckBox имеет labelEx, по причине, я ставлю:

<?php echo $form->labelEx($certificate,'head', array('id' => 'head')); ?> <?php echo $form->checkBox($certificate,'head', array('id' => 'head')); ?>

с этим, POST отправить чек значения, я не понимаю причины, но работа. Я думаю, что если это ошибка в этом компоненте, я не знаю.