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

Laravel中如何通过路由传值并赋值给模态框编辑文本框?

解决Laravel路由传值到模态框编辑的问题

你已经有了核心思路,但目前的代码没把$abc的数据传递到视图的Session中,所以输入框拿不到对应值。我来帮你调整完善:

1. 修改控制器代码,传递数据到Session

在重定向时,除了传递弹窗触发标记,还要把查询到的属性类型数据存入一次性Session:

public function edit($id) {
    $abc = property_type::find($id);
    // 同时传递弹窗标记和属性数据到Session
    return redirect('/admin/property-type')
        ->with('popup','open')
        ->with('propertyData', $abc);
}

2. 视图中绑定数据到对应输入框

因为$abc是Eloquent对象,你需要分别取出它的name和description属性赋值给输入框,同时添加空值兜底避免报错:

<!-- 名称输入框 -->
<input type="text" class="form-control" 
       value="{{ Session::get('propertyData')->name ?? '' }}" 
       name="update_prop_name">

<!-- 描述输入框 -->
<input type="text" class="form-control" 
       value="{{ Session::get('propertyData')->description ?? '' }}" 
       name="update_prop_desc">

3. 确保模态框自动弹出

加上JS逻辑,当Session里存在popup标记时自动打开模态框(假设你的模态框ID是editPropertyModal):

@if(Session::has('popup') && Session::get('popup') === 'open')
    <script>
        $(document).ready(function() {
            $('#editPropertyModal').modal('show');
        });
    </script>
@endif

补充说明

  • Laravel的redirect()->with()方法会把数据存入一次性Session,这些数据仅在接下来的一次请求中有效,非常适配这种跳转后弹窗的场景。
  • 使用?? ''是为了兜底:如果用户直接访问该页面而非通过edit路由跳转,不会因propertyData不存在而抛出属性错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 08:49:00