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

Laravel中如何通过数组从控制器向视图传递表单值

用数组形式传递数据到Laravel视图并显示在文本框

嘿,作为Laravel新手,你选的数组传递方式完全没问题,这比方法链更简洁直观!我来一步步给你演示怎么实现:

第一步:控制器中接收表单值并传递到视图

首先在控制器里,你需要先获取表单提交的name和address,然后用数组形式通过with()方法(或者直接作为view()的第二个参数)传递给视图。示例代码如下:

use Illuminate\Http\Request;

class YourController extends Controller
{
    public function handleFormSubmit(Request $request)
    {
        // 从表单请求中获取输入值
        $name = $request->input('name');
        $address = $request->input('address');

        // 你想要的数组形式传递方式
        return view('showvalues')->with(['name' => $name, 'address' => $address]);

        // 还有一种更简洁的等价写法,直接把数组作为view的第二个参数
        // return view('showvalues', ['name' => $name, 'address' => $address]);
    }
}

这里要注意:不管用->with(数组)还是直接把数组传给view(),最终效果都是一样的——Laravel会把数组里的每个键转化为视图中可用的变量(比如$name、$address)。

第二步:在视图的文本框中显示传递的值

接下来打开resources/views/showvalues.blade.php,在文本框的value属性中直接使用对应的变量即可。如果需要兼顾表单验证失败后的回显(比如后续加了验证规则),可以结合old()方法,这样既能显示刚传递的值,也能保留用户之前的输入:

<form method="POST" action="{{ route('your.route.name') }}">
    @csrf <!-- 别忘了Laravel的CSRF令牌 -->
    
    <div class="form-group">
        <label for="name">姓名</label>
        <!-- 直接用$name显示传递的值;如果要兼容验证回显,用old('name', $name) -->
        <input type="text" class="form-control" id="name" name="name" value="{{ $name }}">
    </div>

    <div class="form-group">
        <label for="address">地址</label>
        <input type="text" class="form-control" id="address" name="address" value="{{ $address }}">
    </div>

    <button type="submit" class="btn btn-primary">提交</button>
</form>

这样一来,当表单提交后,控制器接收的值就会显示在视图的文本框里了,完全符合你想要的数组传递方式~

内容的提问来源于stack exchange,提问作者Don'tDownvoteMe

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 08:58:20