我正在尝试做的是在表中表示带有输入字段(如日期、开始时间和结束时间)的日程表表单。在刀片文件中,我有一个数组,我分配了代表天数(总共 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():参数必须是一个数组或者一个实现了Countable的对象希望任何人都可以提供帮助。先谢谢了。
3 回答
慕桂英3389331
TA贡献2036条经验 获得超8个赞
改变
<input type="text" name="day[]" class="form-control" value="{{ $days[$i] }}" disabled/>
到
<input type="text" name="day[]" class="form-control" value="{{ $days[$i] }}" />
禁用的输入不会随表单请求一起提交。如果您不希望用户能够更改该值,则必须使用不同的技术。可以隐藏吗?
墨色风雨
TA贡献1853条经验 获得超6个赞
禁用输入不会提交。如果您想让用户无法编辑它,则需要使用readonly。
<input type="text" name="day[]" class="form-control" value="{{ $days[$i] }}" readonly/>
森林海
TA贡献2011条经验 获得超2个赞
尝试这个:
for ($i = 0; $i < $start_time; $i++) {
foreach ($days as $day) {
$insert_array[] = array(
'day' => $day[$i ],
'start_time' => $start_time[$i ],
'end_time' => $end_time[$i ],
'zone_id' => $zone_id,
);
}
}
- 3 回答
- 0 关注
- 132 浏览
添加回答
举报
0/150
提交
取消