从表单选择 - Laravel 检索输入



当我从视图中选择一个类并单击Genrate时,我尝试检索所选类的值,但我无法获取所选类的值。

当我返回$condition时,它返回空。在提交后的网址中,它显示为http://localhost:8000/generate/timetable?class=

为什么会这样?

<div class="row">
<div class="col-xl-4 col-lg-12 col-md-12 mb-1">
<fieldset class="form-group">
<label for="squareText">Type</label>
{{ Form::select('class',$classes,$selectedClass,['class'=>'form-control','required'=>'true'])}}
<br>
<a href="/generate/timetable?class={{ request('class') }}"><button class="btn btn-primary pull-left square"  type="submit"><i class="glyphicon glyphicon-th"></i> Generate</button></a>
</fieldset>
</div>
</div>

控制器

$condition = Input::get('class');
if (!isset($condition['class']))
$condition['class'] = 0;
$courses = $course->where('class',$condition)->get()->toArray();
return $condition;

您的按钮位于链接内:

<a href="/generate/timetable?class={{ request('class') }}">
<button class="btn btn-primary pull-left square" type="submit"> ... </button>
</a>

单击它实际上是单击<a href>链接,而不是单击按钮并提交表单。 因此,您无需提交表单,只需浏览到链接指向的 URL。

从您的问题中不清楚链接的用途,但是如果单击按钮应该提交表单,您可能希望将表单元素放在实际的<form>中。

看起来您正在使用Laravel Collective({{ Form::select('class ....看起来像那样(,因此请参阅有关如何打开表单的文档:

{!! Form::open(['url' => '/generate/timetable?class=' . request('class')]) !!}
{{ Form::select('class' .... }}
<button class="btn btn-primary pull-left square" type="submit"> ... </button>
{!! Form::close() !!}

您可能还需要添加一个CSRF令牌,它也在Laravel集体文档以及Laravel文档中进行了描述。

最新更新