Laravel 5.5 - 提交后重新填充表单

4
我希望在提交表单后能够填充用户之前输入的内容。以下示例对我无效。请问是否有解决方案或更好的替代方法?
[查看]
<input id="txtField" name="txtField" value="{{ old('txtField') }}"/>
<input type="submit" value="Submit">

[控制器]

public function showResults(){
    $field = Request::input('txtField');

    /* Note: "performQuery" is a private function 
     * that always returns a new view in the 
     * form: "view('some-view', compact('results'))" */
    return $this->performQuery($field);
}

[路由]

Route::get('/View','Controller@loadPage');
Route::post('/View','Controller@showResults');

尝试使用Laravel Collective Forms。它曾经是Laravel的一个功能,但现在已被移除并作为一个单独的包进行维护。https://laravelcollective.com/docs/5.4/html - andrewtweber
谢谢,@andrewtweber 我会试一下。 - Josh_W
同时,在您的控制器中,若是提交失败后要重定向到页面,那么您可能需要调用redirect()->withInput();以便保留旧的输入内容。 - andrewtweber
好建议!我之前的重定向只是跳转回页面,但我没有加上 "withInput()"。 - Josh_W
1个回答

4

一旦用户提交了有效表单,它就变成了一个POST请求。要检索提交的数据,我需要做的就是改变请求方式。

更改:{{ old('txtField') }} 到 {{ request('txtField') }}


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接