【发布时间】:2019-05-19 20:53:55
【问题描述】:
我有一个带有 2 个按钮的表单,一个是添加更多问题,另一个是完成。两者都应该保存信息,但是我希望他们根据他们按下的按钮将用户重定向到不同的页面。 我试过 switch 方法,我得到一个空白页,数据没有保存。
这是我的控制器
public function store(StoreExamQuestionsRequest $request)
{
if (! Gate::allows('exam_question_create')) {
return abort(401);
}
switch($request->submitbutton) {
case 'save':
$request = $this->saveFiles($request);
$question = new ExamQuestion;
$question->question = $request->question;
$question->exam_id = session()->get('id');
$question->score = $request->score;
$question->question_image = $request->question_image;
$question->save();
for ($q = 1; $q <= 4; $q++) {
$option = $request->input('text_' . $q, '');
if ($option != '') {
ExamOption::create([
'exam_question_id' => $question->id,
'text' => $option,
'is_correct' =>$request->input('is_correct_' .$q)
]);
}
}
return redirect()->route('admin.exam_questions.create');
break;
case 'save-done':
$request = $this->saveFiles($request);
$question = new ExamQuestion;
$question->question = $request->question;
$question->exam_id = session()->get('id');
$question->score = $request->score;
$question->question_image = $request->question_image;
$question->save();
for ($q = 1; $q <= 4; $q++) {
$option = $request->input('text_' . $q, '');
if ($option != '') {
ExamOption::create([
'exam_question_id' => $question->id,
'text' => $option,
'is_correct' =>$request->input('is_correct_' .$q)
]);
}
}
return redirect()->route('admin.exam_questions.index');
break;
}
}
{!! Form::submit( 'Save', ['class' => 'btn btn-default', 'name' => 'submitbutton', 'value' => 'save'])!!}
{!! Form::submit( 'Save Done', ['class' => 'btn btn-default', 'name' => 'submitbutton', 'value' => 'save-done']) !!}
非常感谢
【问题讨论】:
-
在两者上调用点击事件,设置一个隐藏值,然后发布表单..在服务器端,基于该值重定向
-
谢谢,但我不知道该怎么做