最后,一个简单直接的问题:D
背景:我的公司已经改变了他们在使用某些网站时的处理方式。以前,某些站点仅在某些周交付;现在,每个站点每周都会交付。他们要求我去掉他们“添加新站点”表单上的星期字段。然而,星期和站点之间的链接仍然是代码正常工作所必需的,所以我试图隐藏该字段并每周填充它。
自动填充它很简单。我只是这样做:
echo $this->Form->input('Week', array('value'=>array('1','2','3','4','5')));
当我调试从表单发送的数据时,我得到以下信息,这正是我希望它工作的方式。
'Week' => array(
'Week' => array(
(int) 0 => '1',
(int) 1 => '2',
(int) 2 => '3',
(int) 3 => '4',
(int) 4 => '5'
)
所以下一步就是简单地隐藏该输入。容易,对吧?我只是对表单执行以下两件事之一:
echo $this->Form->hidden('Week', array('value'=>array('1','2','3','4','5')));
或者
echo $this->Form->input('Week', array('value'=>array('1','2','3','4','5'), 'type'=>'hidden'));
我所做的就是将类型更改为隐藏。但是现在,从表单中调试数据返回的数据是这样的:
'Week' => array(
'Week' => '1 2 3 4 5'
所以我的问题是,普通“输入”字段和“隐藏”字段之间处理数据的方式有什么区别。为什么会出现这种差异,为什么它很重要?对于这个特定问题,我如何让隐藏数据以与正常输入数据相同的方式运行?