如果標題不太清楚:如何在Laravel中爲表單提交兩個提交操作?
我有一個表單和兩個提交按鈕(或者我可以使用一個提交按鈕,另一個可能只是一個按鈕或錨標籤),並希望每個人提交我的形式,以不同的動作......
任何幫助這麼多的讚賞
如果標題不太清楚:如何在Laravel中爲表單提交兩個提交操作?
我有一個表單和兩個提交按鈕(或者我可以使用一個提交按鈕,另一個可能只是一個按鈕或錨標籤),並希望每個人提交我的形式,以不同的動作......
任何幫助這麼多的讚賞
你可以給第二提交按鈕HTML名稱,然後檢查是否存在該名稱在POST語句設置。
<input name="back" type="submit" value="Go Back">
<input name="next" type="submit" value="Continue">
你可能需要使用jQuery來實現它。當你構建表單時,完全忽略該方法。然後,給你兩個按鈕和id
:
<button id="submit-1">Submit 1</button>
<button id="submit-2">Submit 2</button>
然後,使用jQuery.post
或jQuery.ajax
提交表單數據。
請參閱以下文章的詳細信息:
我想在不使用javascript的情況下完成它,但如果沒有其他方法,那麼這將是我最後的選擇當然是 感謝您的時間 –
這可能是最簡單的"flash"數據。
在你的路線:
Route::post('/test', '[email protected]');
Route::get('/test', '[email protected]');
Route::any('/testSubmit1Action', function()
{
var_dump(Input::old());
});
然後你的TestController:
class TestController extends BaseController {
public function postTest()
{
// Refer to getTest() below for how these buttons are named.
// We can check for the existence of a certain button and process
if(Input::has('submit1'))
{
// Redirect to different route/URI
Input::flash();
return Redirect::to('/testSubmit1Action');
// Alternatively, you could process action 1 here
}
if(Input::has('submit2'))
{
// Process action 2
}
}
public function getTest()
{
// I recommend putting this in a view/blade template
// eg... return View::make('foo.bar');
echo Form::open();
echo Form::submit('Submit Action 1', array('name' => 'submit1'));
echo Form::submit('Submit Action 2', array('name' => 'submit2'));
echo Form::close();
}
}
是的,我想到了,但你看客戶想這是我的答案已經解釋的其他方式,兩種不同的行爲,對此有什麼影響? 我應該感謝您寶貴的時間 –
您是否反對使用Javascript提交表單並讓它監聽被點擊的錨標籤? – smcgovern
我想在不使用javascript的情況下完成它,但如果沒有其他方式,那麼這將是我最後的選擇 –