【问题标题】:Laravel 5.5 - Repopulate Forms After SubmissionLaravel 5.5 - 提交后重新填充表单
【发布时间】:2018-04-11 19:55:26
【问题描述】:

我想在提交(发布)后使用用户之前的输入重新填充我的表单。以下示例不适用于我。有人可以推荐一个解决方案或更好的替代方案吗?

[查看]

<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 集体形式。曾经是 Laravel 的一个特性,但已被删除,现在作为一个单独的包进行维护。 laravelcollective.com/docs/5.4/html
  • 谢谢,@andrewtweber 我会试一试
  • 同样在你的控制器中,帖子失败后,你是否重定向回页面?如果是这样,您可能需要调用 redirect()-&gt;withInput(); 以便保留旧输入
  • 好建议!我正在重定向回页面,但我没有包含“withInput()”。

标签: php html forms laravel-5.5


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-12-30
    • 1970-01-01
    • 1970-01-01
    • 2021-08-19
    • 2018-06-22
    • 2019-03-26
    • 2012-11-05
    相关资源
    最近更新 更多