Получение входных данных из формы выбора - Laravel - PullRequest
0 голосов
/ 27 июня 2018

Когда я выбираю класс в моем представлении и нажимаю Genrate, я пытаюсь получить значение выбранного класса, но не могу получить значение выбранного класса.

Когда я возвращаю $condition, он возвращается пустым. В URL после отправки отображается как 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;

1 Ответ

0 голосов
/ 28 июня 2018

Ваша кнопка находится внутри ссылки:

<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 .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...