首页 > 解决方案 > 如何从 php 获取参数值到 Blade 模态弹出窗口?(Laravel 兰花)

问题描述

我有一个屏幕(视图),其中包含表格形式的用户列表。我在弹出表单中创建了一个用于编辑用户详细信息的列。我在将参数从屏幕传递到 Blade 弹出表单时遇到问题。这是单击模式弹出窗口的代码:

UserDetailsS​​creen.php

//modal toggle in table
TD::make('action', 'Action')
    ->render(function($user){
        return ModalToggle::make('Edit user')
          ->modal('editModal')
          ->modalTitle('Edit this user')

          //I pass the parameter using this
          ->parameters([
             'id' => $user->id
           ])
          ->class('edit-modal')
          ->method('saveUser');
   }

//view modal popup view
Layout::modal('editModal', [

            Layout::view('editForm'),
]),

当我检查一个模式弹出窗口时,用户的 id 确实出现在这样的元素中:

data-screen--modal-toggle-action="http://127.0.0.1:8000/admin/userdetails/saveUser?id=18"

但不在网页的 URL 中。

这是弹出窗口的刀片形式。最后的 JavaScript 部分是我要检索参数的部分。

编辑Form.blade.php

<!DOCTYPE html>
<html>
    <body>
    <div>
        <div style = "padding-top: 30px; padding-left: 30px;">
            {!! 
                \Orchid\Screen\Fields\Input::make('user.first_name')
                    ->title('First Name')
                    ->value(old('first_name'))
                    ->horizontal()
            !!}
        </div>
        <div style = "padding-left: 30px;">
            {!! 
                \Orchid\Screen\Fields\Input::make('user.last_name')
                    ->title('Last Name')
                    ->value(old('last_name'))
                    ->horizontal()
            !!}
        </div>
        <div style = "padding-left: 30px;">
            {!! 
                \Orchid\Screen\Fields\Input::make('user.address')
                    ->title('Address')
                    ->horizontal()
            !!}
    </div>

    <script>
         $(document).on("click", ".edit-modal", function() {
           //retrieve the parameter
        })
    </script>
    </body>
</html>

我尝试使用.val()检索参数,但它不起作用。有人有什么主意吗?谢谢。

编辑:

当我单击模式弹出窗口时,即使我使用“旧”功能检索到用户输入的信息,它也不存在。这使我相信用户 ID 没有从 PHP 文件中很好地传递。希望很清楚。

标签: javascriptphplaravel

解决方案


推荐阅读