提交后未选中cakephp复选框

提交后未选中cakephp复选框,php,cakephp,checkbox,Php,Cakephp,Checkbox,我对cakephp表单(checkbox)属性有一个问题。当我使用下面的代码生成一个带有多个输入复选框的页面时,当我点击submit按钮时选中一些复选框后,我会得到一个刷新的页面,这些复选框保持选中状态。那很好 $options = array("one"=>"one", "two"=>"two"); echo $this->Form->create('Pres'); echo $this->Form->input('Name',array( 'lab

我对cakephp表单(checkbox)属性有一个问题。当我使用下面的代码生成一个带有多个输入复选框的页面时,当我点击submit按钮时选中一些复选框后,我会得到一个刷新的页面,这些复选框保持选中状态。那很好

$options = array("one"=>"one", "two"=>"two");
echo $this->Form->create('Pres');
echo $this->Form->input('Name',array(
    'label' => false,
    'type' => 'select',
    'multiple' => 'checkbox',
    'options' => $options,
));
echo $this->Form->end("Submit");
但是,当我使用以下代码生成页面时,提交后刷新的页面不会选中这些复选框

echo $this->Form->create('Pres');
echo $this->Form->input('Name.',array('type'=>'checkbox','hiddenField'=>false,'label'=>'one','value'=>'one'));
echo $this->Form->input('Name.',array('type'=>'checkbox','hiddenField'=>false,'label'=>'two','value'=>'two'));
echo $this->Form->end('Submit');

出于某些特殊原因,我想使用第二种方法,但在提交后,我希望刷新页面时保持选中这些复选框。非常感谢您的输入。

我不知道CakePHP是如何工作的,但它可能需要第一种方法将选中状态与每个复选框立即关联到
$options
数组。因此,在第二种方法中,CakePHP获取多个输入(复选框),不知道他的
$options
列表在哪里检查正确的选项


如果您出于特定原因需要第二种方法,我建议您仍然使用第一种方法,然后在使用javascript渲染后更改所需内容。

第一种方法中的复选框在第一种方法中保持选中状态。.奇怪的可能是由于浏览器缓存,但在刷新页面后,您必须通过添加“checked”=>两种方法中的“checked”属性

Example:
echo $this->Form->input('Name.',
                        array('type'=>'checkbox',
                              'hiddenField'=>false,
                              'label'=>'two',
                              'value'=>'two',
                              **'checked' => 'checked'**));

希望这会对您有所帮助!

您为什么要将字段名
name.
与点一起使用?