タイトルがはっきりしない場合:
フォームと 2 つの送信ボタンがあり (または、1 つの送信ボタンを使用し、もう 1 つは単なるボタンまたはアンカー タグにすることもできます)、それぞれがフォームを別のアクションに送信するようにします...
どんな助けでも大歓迎です
2 番目の送信ボタンに HTML 名を付けて、その名前が POST ステートメントに設定されているかどうかを確認できます。
<input name="back" type="submit" value="Go Back">
<input name="next" type="submit" value="Continue">
それを実現するには、おそらく jQuery を使用する必要があります。フォームを作成するときは、メソッドを完全に省略してください。次に、2 つのボタンとid
:
<button id="submit-1">Submit 1</button>
<button id="submit-2">Submit 2</button>
次に、jQuery.post
またはjQuery.ajax
を使用してフォーム データを送信します。
詳細については、次の記事を参照してください。
データを「フラッシュ」するのが最も簡単かもしれません。
あなたのルートで:
Route::post('/test', 'TestController@postTest');
Route::get('/test', 'TestController@getTest');
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();
}
}