我有一个foreach循环,它创建了多个文本框,我有一个提交按钮。 提交完成后,我希望将所有数据发送到控制器。
{{ Form::open(array('route' => 'shift.startdata_post', 'class' => 'form-horizontal')) }}
<tbody>
<td> {{ $game->name }} (Serial Number: {{ $game->serial }})</td>
<td> {{ Form::text('cash', null, array('autofocus' => 'autofocus', 'placeholder' => 'Amount in till')) }} </td>
<td> {{ Form::text('unsold', null, array('placeholder' => 'Amount of unsold tickets')) }} </td>
</tbody>
@endif
这是它的样子:
现在它只发送最后两个文本框并忽略前两个。 如何让它发送所有文本框。
有没有人有任何想法?
答案 0 :(得分:2)
输入字段必须具有唯一的name
值。看起来您在每次迭代时都使用相同的name
值。
例如:
<input type="text" name="yourName"><br>
<input type="text" name="yourAge"><br>
<br>
<input type="text" name="yourName"><br>
<input type="text" name="yourAge"><br>
在此示例中,仅使用最后两个输入字段。当有多个具有相同名称的输入字段时,最后一个输入字段优先。
要修复表单,您必须使names
唯一。附加一个数字就是一种方式,例如
<input type="text" name="yourName-1"><br>
<input type="text" name="yourAge-1"><br>
<br>
<input type="text" name="yourName-2"><br>
<input type="text" name="yourAge-2"><br>
另一种方法是使用多维数组,如下所示:
<input type="text" name="person[1][name]"><br>
<input type="text" name="person[1][age]"><br>
<br>
<input type="text" name="person[2][name]"><br>
<input type="text" name="person[2][age]"><br>