javascript - 使表单动态化?

标签 javascript php html laravel-4

我有一个 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/

相关文章:

javascript - asp.net 使用 javascript 打印页面

javascript - 在两个 div 中的元素上设置相同的高度

javascript - 为元素创建功能以停止 "setInterval"函数(由另一个元素触发)

javascript - 谷歌地图显示 BAD

javascript - JavaScript 上的不同随机字符串锦标赛匹配

PHP:将特定日期与重复出现的 iCal 规则匹配

javascript - ExtJS/PHP/MySQL : Uncaught SyntaxError: Unexpected token ILLEGAL

php - mysql 更新 - 跳过空白字段?

javascript - DataTables:获取隐藏的 td 元素并强制更新 stateSave

php - 文本区域中的换行符