Forms Laravel 4两个提交按钮
我知道之前有人问过两个提交按钮的问题,我试着按照编码示例进行操作,但没有成功 我有一个带有两个按钮的表单(预览和保存) 保存按钮用于将数据保存在数据库中。 预览按钮用于在视图中显示输入的数据,用户可以向后导航,如果一切正常,则可以保存数据 无论我点击哪个按钮,我总是会在空白页上看到: 看起来@weiche方法现在运行正常 但是我没有运气 我的表格提交给:Forms Laravel 4两个提交按钮,forms,laravel,Forms,Laravel,我知道之前有人问过两个提交按钮的问题,我试着按照编码示例进行操作,但没有成功 我有一个带有两个按钮的表单(预览和保存) 保存按钮用于将数据保存在数据库中。 预览按钮用于在视图中显示输入的数据,用户可以向后导航,如果一切正常,则可以保存数据 无论我点击哪个按钮,我总是会在空白页上看到: 看起来@weiche方法现在运行正常 但是我没有运气 我的表格提交给: {{ Form::open(array('url' => 'backend/menubuilder/'.$id, 'method' =&
{{ Form::open(array('url' => 'backend/menubuilder/'.$id, 'method' => 'POST'))}}
我的路线是
Route::post('backend/menubuilder/{id}', array('uses' =>'MenuBuilderController@weiche'));
Route::resource('backend/menubuilder', 'MenuBuilderController');
我的控制器是:
public function weiche($id) {
//check which submit was clicked on
if(Input::get('save')) {
$this->update($id); //if login then use this method
} elseif(Input::get('preview')) {
$this->preview($id); //if register then use this method
}
}
public function preview($id)
{
//Wenn angemeldeter Benutzer gleich aufgerufener id -> Anzeigen des dashboards für den entsprechenden User
$user = User::find($id);
$owner = (Auth::id() === (int) $id);
return View::make('backend/menubuilder/templatesview/tempone')->withUser($user)->withOwner($owner);
}
public function update($id)
{
//Aktualisieren der User Profile
$rules = array(
// 'username' => 'unique:users',
'password' => 'min:6'
);
$validator = Validator::make(Input::all(), $rules);
//Wenn Prüfung fehlgeschlagen, Weiterleitung mit Fehlermeldung
if ($validator->fails())
return Redirect::to('backend/menubuilder/'.$id.'/edit')->withInput()->withErrors($validator->messages());
$user = User::find($id);
//Wenn Eingabefeld ausgefüllt wird, aktualisere den bestehenden Wert mit dem eingegeben Wert
$user->gericht_1_mo = Input::get('gericht_1_mo');
$user->gericht_2_mo = Input::get('gericht_2_mo');
$user->preis_1_mo = Input::get('preis_1_mo');
$user->preis_2_mo = Input::get('preis_2_mo');
if(Input::has('password')) $user->password = Hash::make(Input::get('password'));
$user ->save();
Session::flash('message', 'Deine Wochendkarte wurde gespeichert');
//return Redirect::to('backend/menuebuilder'.$id);
return Redirect::back()->withMessage('Wochendkarte gespeichert!');
}
虽然可能是您有错误,但它可能是白色的,因为您的
weiche()
方法实际上没有返回任何内容。它只调用update()
/preview()
方法。如果您更改为该选项,它将起作用-假设您的其余代码是正确的。:)
或者,再短一点:
return Input::get('save') ? $this->update($id) : $this->preview($id);
如果你仍然得到白页,你有一个错误,你需要开始挖掘日志。祝你好运 太好了!谢谢这太容易了!没问题,很高兴有帮助。:)乔尔,最后一件事。知道如何在新选项卡/窗口中打开预览吗?我用{Form::submit('preview',['name'=>'preview',target'=>'\u blank'])}试过了。这不管用。恐怕不行,我主要是做后端编程。
return Input::get('save') ? $this->update($id) : $this->preview($id);