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

Laravel:HTML数字输入框提交后控制器获取值为null的解决办法

解决Laravel中无法获取number输入值的问题

嘿,我一眼就瞅到问题根源啦😉!你的HTML输入框里藏着个小错误,直接导致控制器拿不到值。

核心问题:字段名的多余单引号

先看你的input代码:

<input type="number" class="form-control" name="'svdk_khoa" id="'svdk_khoa" value="{{old('svdk_khoa')}}">

注意到name="'svdk_khoa"开头多了个单引号吗?这会让表单提交的字段名变成'svdk_khoa(带单引号),而你在控制器里用$request->svdk_khoa获取的是不带单引号的字段,自然就返回null了。

第一步:修正HTML属性

把多余的单引号删掉,改成正常的字段名:

<input type="number" class="form-control" name="svdk_khoa" id="svdk_khoa" value="{{old('svdk_khoa')}}">

现在表单提交的字段名和控制器调用的名称完全匹配,就能正确拿到输入的数值了。

额外排查小技巧(如果还是有问题)

  • 检查表单是否用了POST方法,且包含@csrf指令(Laravel要求POST表单必须带csrf令牌,否则请求会被拦截,也可能导致拿不到值)。
  • 在控制器里先打印所有请求数据,确认字段是否存在:
    public function store(Request $request) {
        dd($request->all()); // 输出所有提交的表单数据,看看有没有svdk_khoa字段
        // 后续逻辑...
    }
    
  • 确保你的模型sinhviendk里,$fillable数组已经包含'svdk_khoa',否则即使赋值成功,也不会保存到数据库哦。

内容的提问来源于stack exchange,提问作者Thanh Toàn

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 02:29:31