好的,我在过去几天进行了搜索,但找不到有意义的答案。我很肯定这是可行的,但不确定我是否太过分了。我是 Laravel 5 的新手,对 PHP 也很陌生。我正在尝试将输入的字符串从我的(laravel 集体)表单的 GET['quote'] 部分发送到使用 GET 变量在其下方使用新视图更新的相同表单。刷新后基本上保留任何人在搜索框中输入的内容。
通常,如果它是“设置”,我只会回显所需的变量,然后如果它不在文本框的 'value' = "" 部分中,则将其留空。如果我理解正确,由于在父视图中渲染子视图(首先是父视图,然后是子视图),在具有这种形式的 Laravel 中,我无法做到这一点。有什么解决办法吗?如果找不到解决方案,我将准备在表单中执行旧的回显。
提前致谢!在过去的几个月里,这个网站帮助我解决了很多问题。
父视图上的当前表单。
{{ Form::open(array('url' => 'search', 'method' => 'get')) }}
{!! Form::text('query', '', [
'class' => "form-table",
'placeholder' => "Search Keywords",
'value' => "{{ $query }}"
]) !!}</td>
{!! Form::submit('Submit') !!}
{{ Form::close() }}
表单下方的代码是将文本框字符串传递给另一个视图并将其显示在此表单下方。我不知道任何 JS,所以我在这里有点摸不着头脑,可能试图让一些不起作用的东西起作用。
@yield('child')
下面的代码来自我的控制器。
public function getSearch(){
$title = "Page Title";
$query = "some string"; //This was set to $_GET['query'] but was failing.
return view('pages.search')->with("title", $title)->with("query", $query);
工作代码:对于遇到此问题的任何人
表单代码:value = ""
在我的原始表单上也有错误的位置,所以我把它放到$query
了下面正确的表单数组中。
{{ Form::open(array('url' => 'search', 'method' => 'get')) }}
{{ Form::text('query', $query, [
'class' => "form-table",
'placeholder' => "Search Keywords",
])
}}
{{ Form::submit('Submit') }}
{{ Form::close() }}
页面控制器。添加到我的控制器顶部命名空间下方。
use Illuminate\Http\Request;
控制器:
public function getSearch(Request $request){
$title = "Search";
$query = $request->input("query", "");
return view('pages.search', ["title" => $title, "query" => $query]);
}