请求中缺少Laravel表单输入

请求中缺少Laravel表单输入,laravel,laravel-5,Laravel,Laravel 5,我有以下表格: <form action="{{ route('admin.blocks.store', [$page->id]) }}" method="post"> <fieldset> <div> <input id="block--page-id" name="page_id" type="text" disabled value="{{ $page->id }}">

我有以下表格:

<form action="{{ route('admin.blocks.store', [$page->id]) }}" method="post">
    <fieldset>

        <div>
            <input id="block--page-id" name="page_id" type="text" disabled value="{{ $page->id }}">
            <lable for="block--page-id">Page ID</lable>
        </div>

        <div>
            <input id="block--name" name="name" type="text">
            <label for="block--name">Name</label>
        </div>

        <div>
            <input id="block--description" name="description" type="text">
            <label for="block--description">Description</label>
        </div>

        <div>
            <input id="block--key" name="key" type="text">
            <label for="block--key">Key</label>
        </div>

        <div>
            <textarea id="block--value" name="value">
            </textarea>
            <label for="block--value">Value</label>
        </div>

        <div>
            <button type="submit">Create</button>
        </div>

        {{ csrf_field()}}
    </fieldset>

但是,我对
page\u id
的输入没有传递到请求中。所有其他输入都可以正常工作,因此我不确定还有什么可能出错。

将表单操作更改为:

<form action="{{ route('admin.blocks.store', ['page_id'=> $page->id]) }}" method="post">
在控制器代码中,您不需要从请求中获取
$pageId
,因为它已经作为路由参数存在

public function blocksStore(Request $request, $pageId)
{
$block = new PageBlock();

$block->page_id = $pageId;

$block->save();
return redirect('admin.pages.edit', [$pageId]);
}

由于元素已禁用,因此将不会提交该元素。因此,将其更改为
type=“hidden”


是否有办法在页面上显示为已禁用但仍提交?我希望能够看到我正在使用的id。我想我可以有另一个隐藏的字段和一个禁用的字段,然后访问请求中禁用的字段?@SamWillis您可以尝试或只是在元素附近显示数字。
Route::post('/your_url/{page_id}', 'SomeController@store')->name('admin.blocks.store');
public function blocksStore(Request $request, $pageId)
{
$block = new PageBlock();

$block->page_id = $pageId;

$block->save();
return redirect('admin.pages.edit', [$pageId]);
}
<input id="block--page-id" name="page_id" type="hidden" value="{{ $page->id }}">