Laravel, 在同一个视图中,有多个删除和编辑按钮的复选框。

问题描述 投票:0回答:1

我必须在同一个视图中插入一个编辑按钮和多个复选框来删除DB中的记录。编辑按钮只适用于第一条记录,复选框只适用于最后一条记录,即使我选中多个选项。如果有编辑按钮或删除复选框,这些功能可以单独使用,而不是一起使用。

@isset($lista)
<table>
    <th>Lista degli utenti Staff: </th>
    <tr>
        <td> Nome </td>
        <td> Cognome </td>
        <td> Username </td>
        <td> Modifica </td>
        <td> Elimina </td>
        @foreach ($lista as $staff)
        <tr>
        <td>{{$staff->nome}} </td>
        <td> {{$staff->cognome}} </td>
        <td> {{$staff->username}} </td>
        <td>
            {{ Form::open(array( 'route'=> ['modificastaff', $staff->id],'method'=>'post')) }}
            {{ Form::submit('Modifica') }}
            {{ Form::close() }}
        </td>
        <td>
            {{ Form::open(array( 'route'=> ['eliminastaff'],'method'=>'post')) }}
            {{ Form::checkbox('checked[]', $staff->id) }}
        </td>
    </tr>
    @endforeach
{{ Form::submit('Elimina') }}  
{{ Form::close() }}
</table>  
@endisset
laravel forms edit sql-delete
1个回答
0
投票

你的第一个表里面的表格是好的。 你打开它,要求 submit 然后关闭它的循环 <tr>.

您遇到的问题是因为您为您的复选框打开了多个表单,而且它们是 循环表内未关闭. 这意味着你在编辑表单的顶部打开了多个表单,这导致了错误。

要解决这个问题,请修改:

<td>
        {{ Form::open(array( 'route'=> ['eliminastaff'],'method'=>'post')) }}
        {{ Form::checkbox('checked[]', $staff->id) }}
    </td>
</tr>
@endforeach
{{ Form::submit('Elimina') }}  
{{ Form::close() }}

对此。

    <td>
        {{ Form::open(array( 'route'=> ['eliminastaff'],'method'=>'post')) }}
        {{ Form::checkbox('checked[]', $staff->id) }}
        {{ Form::submit('Elimina') }}  
        {{ Form::close() }}
    </td>
</tr>
@endforeach

如果你想接受多张支票,你将不得不重新设计一下。 但这将解决你所遇到的第1次编辑最后一次删除错误的问题。

© www.soinside.com 2019 - 2024. All rights reserved.