复选框值未在Controller - Laravel中提交

时间:2015-12-07 07:25:45

标签: laravel-5 laravel-5.1

我的控制器操作方法如下所示:

public function store(Request $request)
{
    $IsActive = $request->input('IsActive');
    echo $IsActive;
    die();
}

我的观点如下

{!! Form::open(array('method' => 'POST', 'action' => 'DepartmentController@store')) !!}
     {!! Form::checkbox('IsActive', 0, null, array('class' => "flat")) !!}
     {!! Form::submit('Save', array('class' => "btn btn-success"))!!}
{!! Form::close() !!}

问题

  

在表单提交时,我总是得到CheckBox的值= 0。我错过了吗   什么?

1 个答案:

答案 0 :(得分:1)

您在表单提交时获得0值是因为,您已明确声明值为0。将0替换为您想要的任何值,您将根据自己的愿望获得结果。

来自api source code

/**
 * Create a checkbox input field.
 *
 * @param  string  $name
 * @param  mixed   $value
 * @param  bool    $checked
 * @param  array   $options
 * @return string
 */
public function checkbox($name, $value = 1, $checked = null, $options = array())
{
    return $this->checkable('checkbox', $name, $value, $checked, $options);
}

/**
 * Create a checkable input field.
 *
 * @param  string $type
 * @param  string $name
 * @param  mixed  $value
 * @param  bool   $checked
 * @param  array  $options
 *
 * @return string
 */
 protected function checkable($type, $name, $value, $checked, $options)
 {
     $checked = $this->getCheckedState($type, $name, $value, $checked);
     if ($checked) {
        $options['checked'] = 'checked';
     }
     return $this->input($type, $name, $value, $options);
}

希望这可以帮助你。