在 Laravel 中编辑单选按钮
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/46881586/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Editing radio button in laravel
提问by blastme
I am trying to edit data using radio button but whenever I try to edit it, the result return are blank. I have search for other people post similar to his but it still doesn't work (eg: Edit Radio Button / Dropdown list)
我正在尝试使用单选按钮编辑数据,但是每当我尝试编辑它时,结果返回都是空白的。我搜索过与他类似的其他人的帖子,但仍然无效(例如:编辑单选按钮/下拉列表)
Could I have done something wrong here?
我可能在这里做错了什么吗?
When I used the dd function on it, it will just return me this:
当我在其上使用 dd 函数时,它只会返回给我:
"gender" => null
But previously I used this I can get my result <input type="text" name="gender" value="{{ $object->gender }}" class="form-control">
但以前我用过这个我可以得到我的结果 <input type="text" name="gender" value="{{ $object->gender }}" class="form-control">
Here is my code:
这是我的代码:
<form class="form-horizontal" method="post" action="{{ url('/user/show/'.$object->id) }}">
{{ method_field('PUT') }}
{{ csrf_field() }}
<label class="col-md-2">Gender:</label>
<div class="col-md-6">
<input type="radio" name="gender" value="{{$object->male}}"> Male<br>
<input type="radio" name="gender" value="{{$object->female}}"> Female<br>
</div>
<div class="form-group">
<div class="col-md-6-offset-2">
<input type="submit" class="btn btn-primary" value="Save">
</div>
</div>
</form>
Controller:
控制器:
public function edit($id){
$object = user_info::find($id);
return view('edit', compact('object'));
}
public function update(Request $request, $id){
$object = user_info::find($id);
$object->gender = $request->input('gender');
//$object->update();
dd($object);
return redirect('/home');
}
回答by MalemScha
The problem is you haven't selected any option in your form. I would suggest you to wrap the options inside select tag. You have to use an if statement (conditional will work find here) that checks if a value is true then print out checked="checked" which indicates the radio button is selected.
Here's the code:
Dropdown
问题是您没有在表单中选择任何选项。我建议您将选项包装在 select 标签中。您必须使用 if 语句(条件将在此处找到)来检查值是否为真,然后打印出已检查的 =“已检查”,这表明单选按钮已被选中。
这是代码:
下拉
<form class="form-horizontal" method="post" action="{{ url('/user/show/'.$object->id) }}">
{{ method_field('PUT') }}
{{ csrf_field() }}
<label class="col-md-2">Gender:</labe
<div class="col-md-6">
<select name="gender" id="gender" class="form-control" required>
<option value="">Choose....</option>
<option value="Male" {{ $object->gender == 'Male' ? 'selected' : ''}}>Male</option>
<option value="Female" {{ $object->gender == 'Female' ? 'selected' : ''}}>Female</option>
</select>
</div>
<div class="form-group">
<div class="col-md-6-offset-2">
<input type="submit" class="btn btn-primary" value="Save">
</div>
</div>
</form>
Radiobutton
单选按钮
<form class="form-horizontal" method="post" action="{{ url('/user/show/'.$object->id) }}">
{{ method_field('PUT') }}
{{ csrf_field() }}
<label class="col-md-2">Gender:</labe
<div class="col-md-6">
<input type=radio name="Gender" value="Male" {{ $object->gender == 'Male' ? 'checked' : ''}}>Male</option>
<input type=radio name="Gender" value="Female" {{ $object->gender == 'Female' ? 'checked' : ''}}>Female</option>
</div>
<div class="form-group">
<div class="col-md-6-offset-2">
<input type="submit" class="btn btn-primary" value="Save">
</div>
</div>
</form>
回答by parker_codes
<div class="col-md-6">
<input type="radio" name="gender" value="male"> Male<br>
<input type="radio" name="gender" value="female"> Female<br>
</div>
The use of an object may not be your best approach here. I would use the static String values of "male" and "female". Hereis a guide on a Laravel approach to radio buttons for gender.
在这里使用对象可能不是您的最佳方法。我会使用“男”和“女”的静态字符串值。这是关于 Laravel 方法的性别单选按钮指南。
回答by ravi darji
<div class="form-group">
<input name="gender" id="gender" value="male" type="radio" />Male
<input name="gender" id="gender" value="female" type="radio" />Female
<script type="text/javascript">
document.forms['form'].elements['gender'].value='{{$register->gender}}'
</script>