Php Laravel复选框未提交给控制器
在这样的视图中,我有一个简单的表单:Php Laravel复选框未提交给控制器,php,laravel,checkbox,input,Php,Laravel,Checkbox,Input,在这样的视图中,我有一个简单的表单: <form action="{{ URL::route('admin.x') }}" method="POST"> <input type="text" value="b" name="title" /> <input type="text" value="c" name=&
<form action="{{ URL::route('admin.x') }}" method="POST">
<input type="text" value="b" name="title" />
<input type="text" value="c" name="type" />
<input type="text" value="d" name="postfix" />
<input type="checkbox" name="check" value="ss" />
<input type="hidden" name="_token" value="{{ csrf_token() }}">
</form>
用于检查从视图发布到控制器的所有值。结果如下,我想知道如何在表单中发布复选框值
阵列:4[▼
“标题”=>“”
“类型”=>“”
“后缀”=>“”
“_token”=>“kSM3pO11KOOWQcCx4PeWcbi4r4AsFx0rSGQoVFtG”
]
如果用户或客户端脚本未选中复选框,则复选框输入不会提交到服务器端脚本。因此,在这些情况下,输入不会发送到控制器 在laravel中,如果您希望以某种方式“规范化”输入未发送的情况,您可以自己创建一个字段:
$data = Input::all();
if ( ! isset($data['check']) )
$data['check'] = false;
如果选中复选框,则返回true;如果未选中,则返回false
Input:has('check')
通过在复选框字段上方创建一个同名的隐藏输入字段,您可以确保服务器端收到复选框的值,而不管它是否被选中 这样,如果表单在未选中复选框的情况下提交,则服务器端将从隐藏的输入字段接收值,而如果选中复选框,则由于表单中的字段较低,服务器将接收选中的值
您的意思是,如果用户选中复选框,它将出现在dd(Input::all())结果中?是的,如果您选中复选框,您将在示例中看到:“check”=>“ss”
,因为ss
是您分配给该输入的值,但它没有按照您说的那样发生。@MahmoodKohansal:dd(Input::all())的结果是什么代码>当您选中复选框时?谢谢,它对我有效…只是一件小事…if语句后缺少“)”复选与否没有区别!也许有什么不对劲,但它还是给了我错误的答案。
Input:has('check')