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

LiteCart v2.6.3多选复选框仅获最后选中项,如何获取全部选中值?

解决LiteCart v2.6.3多选复选框提交仅返回最后一个值的问题

问题根源在于HTML表单的命名规则:当需要提交多个选中值为数组时,表单字段名必须以[]结尾,否则PHP的$_POST只会保留最后一个选中项的值。

具体解决步骤:

  • 修改form_draw_select_multiple_field的字段名参数,将store改为store[]:
    <?php echo functions::form_draw_select_multiple_field('store[]', $where_to_buy_locs, true); ?>
    
  • 后端接收数据时,直接通过$_POST['store']即可获取所有选中值的数组。为避免未选中时出现Undefined索引,可添加判断:
    $selected_stores = isset($_POST['store']) ? $_POST['store'] : [];
    

原理说明:

LiteCart的form_draw_select_multiple_field函数会根据传入的字段名生成对应HTML控件。当字段名设为store[]时,生成的每个复选框name属性都会是store[],PHP会自动将所有选中的这些控件值收集为一个数组,而不是覆盖为最后一个值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.11 10:34:53