我有一张表格。提交表单后如果有错误,则重定向到同一页面并预先填充用户提交的数据。我有3 checkbox
个字段。假设用户仅检查了first checkbox
并提交了表单。因此,如果表单有一些错误,它会重定向到同一页面,但问题是当它再次重定向到all the checkboxes got selected instead of only the 1st one
时。
<div class="form-group">
<label>Hobbies: <span><em>{{$errors->first('hobbies')}}</em></span></label>
<input type="checkbox" name="hobbies[]" value="Cricket" @if (is_array(old('hobbies'))) && (in_array('Cricket', old('hobbies'))) checked @endif> Cricket
<input type="checkbox" name="hobbies[]" value="Football" @if (is_array(old('hobbies'))) && (in_array('Football', old('hobbies'))) checked @endif> Football
<input type="checkbox" name="hobbies[]" value="Badminton" @if (is_array(old('hobbies'))) && (in_array('Badminton', old('hobbies'))) checked @endif> Badminton
</div>
答案 0 :(得分:1)
您的括号不平衡且放错位置,因此您的if
评估不正确。
@if (is_array(old('hobbies')) && in_array('Badminton', old('hobbies')))
答案 1 :(得分:0)
你应该这样做才能让它发挥作用,
<div class="form-group">
<label>Hobbies: <span><em>{{$errors->first('hobbies')}}</em></span></label>
<input type="checkbox" name="hobbies[]" value="Cricket" {{ !empty(old('hobbies')) && (in_array('Cricket', old('hobbies'))) ? 'checked' : '' }}> Cricket
<input type="checkbox" name="hobbies[]" value="Cricket" {{ !empty(old('hobbies')) && (in_array('Football', old('hobbies'))) ? 'checked' : '' }}> Football
<input type="checkbox" name="hobbies[]" value="Cricket" {{ !empty(old('hobbies')) && (in_array('Badminton', old('hobbies'))) ? 'checked' : '' }}> Badminton
</div>
试一试,它应该有用。