我在blade.php中创建了一个表单,在这里我可以选择多个复选框,我想将所选输入的值传递给数组中的控制器。但是我失败了,我无法发送数据。 这是来自视图的代码。所选输入的值可以是1,2等;
<form method="post" action="{{action('votesubmitController@votesubmit')}}" class="form">
<input type="hidden" name="_token" value="{{ csrf_token() }}">
@foreach($candidate_list[$post_list->id] as $candidate_list[$post_list->id])
<li>
<input type="checkbox" name= "selected[]" value= {{
$candidate_list[$post_list->id]->id }}>
<label>
<!-- some code here -->
</label>
</li>
@endforeach
<button type="submit" id="login-button">Submit</button>
</form>
这是路线 -
Route::post('/votesubmit','votesubmitController@votesubmit');
如果我在控制器中写回返$ input,我发现 -
{"_token":"TQIUxVz0LjzM84Z7TaUPk3Y7BLZPjmXUyhXhlQfp","selected":
["1","2"]}
这就是我需要的。我不知道如何获得选定的价值。当我得到特定的路由错误异常发生时。并说“未定义变量:已选择”。 这是我的Controller的代码 -
class votesubmitController extends Controller
{
public function votesubmit()
{
$input = Input::all();
// return $input;
foreach ($selected as $selected) {
echo $selected;
}
}
}
答案 0 :(得分:2)
// You can try this
class votesubmitController extends Controller
{
public function votesubmit()
{
//$input = Input::all();
//$selected = $input['selected'];
$selected = Input::get('selected');
foreach ($selected as $selected)
{
echo $selected;
}
}
}
答案 1 :(得分:0)
要么使用 $ selected = $ input ['selected'] 要么 使用ajax传递它。