You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel中如何通过单个按钮提交选中的复选框ID

解决方案

问题出在你把每个复选框都单独放在了一个<form>标签里,导致无法通过单个按钮批量提交选中的ID。正确的做法是将所有复选框和提交按钮放在同一个表单内,具体修改如下:

修改后的Blade模板代码

<form action="{{route('admin.pks.calculate')}}" method="POST">
    @csrf
    <div class="col-lg-4">
        <!-- 修正按钮type为submit,原type="submit1"是无效的 -->
        <input id="tea-submit" type="submit" class="btn btn-primary mt-35" name="submit1" value="Send">
    </div>

    @foreach ($pks as $pk)
    <tr>
        <td class="text-center">
            <input type="checkbox" name="pk_id[]" value="{{$pk->id}}">
            {{ $pk->id }}
        </td>
    </tr>
    @endforeach
</form>

后端代码无需调整

你的PHP接收逻辑已经正确,直接保留即可:

public function calculate(Request $request)
{
    $pk_ids = $request->input('pk_id');
    dd($pk_ids);
}

关键说明

  1. 整个表单只需要一个<form>标签,包裹所有需要提交的元素(复选框和提交按钮)
  2. @csrf令牌只需在表单内出现一次即可
  3. 提交按钮的type必须设置为submit,原type="submit1"是无效值,无法触发表单提交
  4. 复选框的name保持pk_id[]不变,后端才能正确接收选中ID的数组

内容的提问来源于stack exchange,提问作者kennedyforf

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 00:06:24