我需要设置30或29或30或28输入,具体取决于当前月份,并在发布后从这些输入中获取文本。 在我看来,我确实喜欢这样:
echo $this->Form->create('Cra');
foreach ($MonthDaysM as $i) : ?>
<td><?php echo $this->Form->input($i, array('label'=>false));?></td>
<?php endforeach; ?>
</form>
并在控制器中
if ($this->request->is('post')) {
$date = $this->request->data['Cra'][$i];
.....
但是不起作用,因为输入的名称不应该是变量。但我怎样才能得到我的输入内容????
答案 0 :(得分:0)
您需要调用输入字段名称,然后按如下方式添加索引:
<?php foreach ($MonthDaysM as $i) : ?>
<td><?php echo $this->Form->input('your_field_name.' . $i, array('label'=>false));?></td>
<?php endforeach; ?>
然后在控制器中检查$this->request->data['Cra']['your_field_name']
。它应该是一个数组。
答案 1 :(得分:0)
我不太清楚你的模型'Cra'是如何定义的,但是如果你想得到你输入的内容:
在您看来:
<?php for($i = 1; $i <= date('t'); $i++) : ?>
<td><?php echo $this->Form->input('Cra.days.'.$i, array('label'=>false)); ?></td>
<?php endfor; ?>
然后,在您的控制器中,您可以通过以下方式访问日期数组的内容:
if($this->request->is('post')){
$days = $this->request->data['Cra']['days'];
}
例如,'days'数组的结果将是:
Array
(
[1] => Day 1 content
[2] => Day 2 content
[3] => Day 3 content
...
)
希望这可以提供帮助。