我有一个 foreach 循环,它创建多个文本框,并且有一个提交按钮。 点击提交后,我希望将所有数据发送到 Controller 。
{{ 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
它是这样的:
现在它只发送最后两个文本框并忽略前两个。 我如何让它发送所有文本框。
有人有什么想法吗?
最佳答案
输入字段必须具有唯一的名称
值。看来您在每次迭代中都使用相同的 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>
在此示例中,仅使用最后两个输入字段。当有多个输入字段同名时,最后一个优先。
为了修复您的表单,您必须使名称
唯一。附加数字是一种方法,例如
<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>
关于javascript - 使表单动态化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25518352/