如果标题不是很清楚:
我有一个表单和两个提交按钮(或者我可以使用一个提交按钮,另一个可能只是一个按钮或一个锚标记),并希望每个人都将我的表单提交给不同的操作......
非常感谢任何帮助
您可以给第二个提交按钮一个 HTML 名称,然后检查该名称是否在 POST 语句中设置。
<input name="back" type="submit" value="Go Back">
<input name="next" type="submit" value="Continue">
“闪存”数据可能是最容易的。
在您的路线中:
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();
}
}
您可能需要使用 jQuery 来完成此操作。当您构建表单时,请完全忽略该方法。然后,给你的两个按钮和id
:
<button id="submit-1">Submit 1</button>
<button id="submit-2">Submit 2</button>
然后,使用jQuery.post
或jQuery.ajax
提交您的表单数据。
有关更多信息,请参阅这些文章: