2014-10-10 47 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 array('a,cabeza','on'=>'search'), \t \t); \t} 很顯然,我的模型定義了更多的字段,但我留下了這些,因爲它們的行爲不同。在我的表格中,兩個字段的類型是INT – Ale 2014-10-10 15:30:24

+0

因此,對於所有意圖和目的,除名稱外,「a」和「head」屬性完全相同嗎?那很奇怪。 然而,似乎缺少的唯一東西就是規則中的'數值':'array('a,head','numerical','integerOnly'=> true)'。也許你故意拋棄它? – Jerome 2014-10-10 16:38:58

0

嗯,我解決了這個問題。隨着的複選框有labelEx,是有原因的,我把:

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

與此相關,POST發送值檢查,我不明白其中的道理,但工作。我想如果是這個組件中的一個bug,我不知道。該模型的