返回输入后如何检查我的表单

时间:2017-09-22 07:00:03

标签: laravel laravel-5.4

我正在使用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>

我正在尝试输入有性别 - &gt;男性在返回后应该检查但是它不起作用这个代码是正确的

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

当我使用

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

它的回归是真的。帮助我。

2 个答案:

答案 0 :(得分:0)

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

 <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>

答案 1 :(得分:0)

<强>已更新

您的复选框已$data = array( array( 'title' => 'My title' , 'name' => 'My Name' , 'date' => 'My date' ), array( 'title' => 'Another title' , 'name' => 'Another Name' , 'date' => 'Another date' ) ); $this->db->insert_batch('mytable', $data); ,因此您的测试应检查该问题,而不是代码中的value='male'

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

1

@if(is_array(old('gender')) && in_array('male', old('gender'))) checked @endif 应该在您的控制器中使用,处理请求输入,而不是在您的视图中。我认为使用$request->input('gender')是Laravel 5-ish访问输入的方式。