【发布时间】:2019-07-18 04:32:06
【问题描述】:
我正在尝试做的是在表格中表示时间表表单,其中包含日期、开始时间和结束时间等输入字段。
在刀片文件中,我有一个数组,我分配了代表天数(总共 7 天)的值。我放入数组的原因是我不想编写 7 次 html 代码。我做 FOR 循环以显示具有分配值的输入字段。
然后,我想根据每一天输入另一个值,即“开始时间”和“结束时间”。
下面是我的代码
在刀片中
<?php
$days = array("Monday","Tuesday","Wednesday","Thursday","Friday","Satuday");
$daylength=count($days);
for($i=0; $i<$daylength; $i++)
{
?>
<tr>
<td><input type="text" name="day[]" class="form-control" value="{{ $days[$i] }}" disabled/></td>
<td><input type="time" name="start_time[]" class="form-control"/></td>
<td><input type="time" name="end_time[]" class="form-control"/></td>
<td></td>
</tr>
<?php } ?>
在控制器中
$days = $request->input('day');
$start_time = $request->input('start_time');
$end_time = $request->input('end_time');
$zone_id = $zone->id;
for($count = 0; $count < count($days); $count++)
{
$data = array(
'day' => $days[$count],
'start_time' => $start_time[$count],
'end_time' => $end_time[$count],
'zone_id' => $zone_id,
);
$insert_schedule[] = $data;
}
Schedule::insert($insert_schedule);
正如我所料,它应该将输入值存储到数据库表中。问题是提交表单后,控制器请求空值。
显示的错误:
count():参数必须是数组或者实现的对象 可数的
希望任何人都可以提供帮助。提前谢谢你。
【问题讨论】:
-
可能因为输入被禁用而没有提交
day? -
是的,你是对的!我从以下答案之一中找到了解决方案。我应该将“禁用”替换为“只读”。