Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何处理动态创建的表单laravel 5.4_Laravel - Fatal编程技术网

如何处理动态创建的表单laravel 5.4

如何处理动态创建的表单laravel 5.4,laravel,Laravel,我想知道如何从动态创建的表单中获取复选框的名称。首先,我以单独的形式显示每个数据记录,然后如果需要删除记录,我们将能够删除。我可以以somename+id的形式给出不同的名称。但是我如何知道控制器中的名称呢。由于控制器中的名称不清楚,我无法删除该记录。我是在拉威尔5.4里做的。这是我的密码- @if (isset($allcolors)) @foreach ($allcolors as $color) <tr> <form met

我想知道如何从动态创建的表单中获取复选框的名称。首先,我以单独的形式显示每个数据记录,然后如果需要删除记录,我们将能够删除。我可以以somename+id的形式给出不同的名称。但是我如何知道控制器中的名称呢。由于控制器中的名称不清楚,我无法删除该记录。我是在拉威尔5.4里做的。这是我的密码-

@if (isset($allcolors))
    @foreach ($allcolors as $color)
        <tr>
            <form method="post" action="/delete">
                {{csrf_field()}}
                <input type="hidden" name="_method" value="DELETE">
                <td>
                    <span class=""><input type="checkbox" name="deletecolor[{{$color->id}}]" value="{{$color->id}}"></span>
                </td>
                <td>
                    <div style="background:{{$color->web_color}}">a</div>
                </td>
                <td>{{$color->color_name}}</td>
                <td>
                    <button type="submit" class="btn btn-danger">
                        Delete
                    </button>
                </td>
            </form>
        </tr>
    @endforeach
@endif

我看到你有
$color->id
。为什么不基于此删除它们

@if (isset($allcolors))
    @foreach ($allcolors as $color)
        <tr>
          <form method="post" action="/delete">
            {{csrf_field()}}
            <input type="hidden" name="_method" value="DELETE">
            <td><span class=""><input type="checkbox" name="deletecolor[{{ $color->id }}]" value="{{$color->id}}"></span></td>
            <td><div style="background:{{$color->web_color}}">a</div></td>
            <td>{{$color->color_name}}</td>
            <td><button type="submit" class="btn btn-danger"  data-toggle="modal" data-target="#colorDelPopup">Delete</button></td>
          </form>
        </tr>
    @endforeach
@endif

这应该可以解决问题。

如何从请求中获取
名称
输入当表单中似乎没有输入时,只有
deletecolor[]
?我使用了一个变量,比如$I=1,然后我递增并为复选框指定名称,但问题是我在提交表单时不确定id是哪个。您好,谢谢您的回复。但是$request->input('deletecolor')在控制器中总是空的
@if (isset($allcolors))
    @foreach ($allcolors as $color)
        <tr>
          <form method="post" action="/delete">
            {{csrf_field()}}
            <input type="hidden" name="_method" value="DELETE">
            <td><span class=""><input type="checkbox" name="deletecolor[{{ $color->id }}]" value="{{$color->id}}"></span></td>
            <td><div style="background:{{$color->web_color}}">a</div></td>
            <td>{{$color->color_name}}</td>
            <td><button type="submit" class="btn btn-danger"  data-toggle="modal" data-target="#colorDelPopup">Delete</button></td>
          </form>
        </tr>
    @endforeach
@endif
public function destroy(Request $request)
{
    $ids = $request->input('deletecolor');
    // Instead of raw SQL, you can use the query builder to make your life a bit easier
    $affected = DB::table('vehicle_color')->whereIn('id', $ids)->delete();
    //echo $affected==1?"Successfully Deleted":"Delete Fail";
}