如何在输入 return 后检查我的表单

How to Checked my form after return with input

我正在使用 laravel 5.4。这是我的表格

<div class="panel-body">
    <ul>
        <li class=""> <input type="checkbox" name="gender[]" id="men" value="male" onchange="checkBoxHandler()" 
        @if (is_array(Input::has('gender')) && in_array(1, Input::has('gender'))) checked @endif
        > Men's</li>
        <li class=""><input type="checkbox" name="gender[]" id="woman" value="female" onchange="checkBoxHandler()"> Woman's</li>
    </ul>
</div>

我正在尝试如果在 return 之后输入有性别-> 男性,它应该被检查但是它不起作用是因为这个代码是正确的

@if(is_array(Input::has('gender')) && in_array(1, Input::has('gender'))) checked @endif

当我使用

{{ dd(Input::has(gender)) }}

这是 return 正确的。帮帮我。

我不知道怎么做,但这个选项工作正常

 <ul>
                <li>
                    @if(Input::has('gender'))
                    {{ Form::checkbox('gender[]',  'male', 'male', ['onchange' => 'checkBoxHandler()']) }}

                            {{ Form::label('male', ucfirst('male')) }}<br>
                      @else
                        <input type="checkbox"
                           name="gender[]"
                           id="men"
                           value="male"
                           onchange="checkBoxHandler()"
                           {{ is_array(old('gender')) && in_array('male', old('gender')) ? 'checked' : '' }}> Male
                      @endif

                </li>



                <li>
                    @if(Input::has('gender'))
                    {{ Form::checkbox('gender[]',  'female', 'female', ['onchange' => 'checkBoxHandler()']) }}

                            {{ Form::label('female', ucfirst('female')) }}<br>
                      @else
                        <input type="checkbox"
                           name="gender[]"
                           id="men"
                           value="female"
                           onchange="checkBoxHandler()"
                           {{ is_array(old('gender')) && in_array('female', old('gender')) ? 'checked' : '' }}> Female
                      @endif

                </li>

            </ul>

已更新

您的复选框有 value='male',因此您的测试应该检查它,而不是像您的代码那样 1

如果您想用用户之前输入的数据重新填充表单,可能是因为验证失败,请使用 the old() method

@if(is_array(old('gender')) && in_array('male', old('gender'))) checked @endif

Input 应该在你的控制器中使用,处理请求输入,而不是在你的视图中。我认为使用 $request->input('gender') 是访问输入的 Laravel 5-ish 方式。