首页 > 提交复选框表单问题

提交复选框表单问题

下面这个复选框提交到后台,有3个问题弄不清,请大神帮说明一下。问题具体描述如下,用restful风格来说明:

下面是“创建页面(create)”的代码,就是一些复选框和另外一个email的输入框:

{!! Form::open(array('url' => 'foo/bar')) !!}
<fieldset class="form-group">
    <label for="email1">Email</label>
    <input type="email" class="form-control" id="email1" placeholder="">
</fieldset>
<div class="checkbox">
    <label class="checkbox-inline">
        <input type="checkbox" id="checkbox1" name="checkbox1" value="1"> 苹果
    </label>
    <label class="checkbox-inline">
        <input type="checkbox" id="checkbox2" name="checkbox2" value="1"> 香蕉
    </label>
    <label class="checkbox-inline">
        <input type="checkbox" id="checkbox3" name="checkbox3" value="1"> 凤梨
    </label>
    <label class="checkbox-inline">
        <input type="checkbox" id="checkbox4" name="checkbox4" value="1"> 车厘子
    </label>
    <label class="checkbox-inline">
        <input type="checkbox" id="checkbox5" name="checkbox5" value="1"> 樱桃
    </label>
    <label class="checkbox-inline">
        <input type="checkbox" id="checkbox6" name="checkbox6" value="1"> 柑橘
    </label>
    <label class="checkbox-inline">
        <input type="checkbox" id="checkbox7" name="checkbox7" value="1"> 葡萄
    </label>
    <label class="checkbox-inline">
        <input type="checkbox" id="checkbox8" name="checkbox8" value="1"> 龙眼
    </label>
    <label class="checkbox-inline">
        <input type="checkbox" id="checkbox9" name="checkbox9" value="1"> 椰子
    </label>
</div>
<button type="submit" class="btn btn-primary">Submit</button>
{!! Form::close() !!}

填写的email和被选中的复选框发送到后台,问题如下:
1、这个email和这些复选框是保存在一张数据表上,还是分开用两张数据表比较好呢?因为选择复选框的项是不定的,所以不知道怎么设计数据表。

2、复选框这么多项,还有一个email,控制器中store方法怎么写呢,眉毛胡子一把抓吗?

//不知道怎么写store方法。
   public function store(Request $request)
    {
        $requirement = Requirement::create($request->all());
        return redirect()->action('RecruitmentsController@show', ['id' => $requirement->id]);
    }

数据保存到数据表后,要方便实现以下两点:
1、在“编辑页面(edit)”,要能够还原“创建页面(create)”时选择的项,也就是创建时选中的项处于选中状态,没选中的项处于没选中状态。
2、在“显示页面(show)”,显示选中的项,不显示没选中的项。第3个问题就是,在数据表中应该保存什么呢?比如选择了“苹果”,那就应该显示“苹果”,上面我写的是value="1",需要换成value=“苹果”吗,还是随便都可以,怎么保存比较方便?

请大神帮说一下思路,最好在控制器示意一下代码,谢谢。


有一种大学做作业的感觉!

先做一个管理功能把所有水果数据表维护好

1.添加页面把所有水果数据循环让用户选择,value里面放fruit_id,提交表单把email存在form表,N个fruit_id的多条记录存储在form_fruit表,用form_id关联加个事务,避免数据丢了

2.编辑页面的时候把主键对应的email、fruit_id列表数据读出来,然后fruit_id列表和全部水果列表数据循环的时候去比较如果等于的就选中

【热门文章】
【热门文章】