Maison > développement back-end > tutoriel php > 提交复选框表单问题

提交复选框表单问题

WBOY
Libérer: 2016-06-06 20:08:53
original
1141 Les gens l'ont consulté

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

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

<code>{!! 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() !!}</code>
Copier après la connexion
Copier après la connexion

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

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

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

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

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

回复内容:

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

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

<code>{!! 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() !!}</code>
Copier après la connexion
Copier après la connexion

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

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

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

数据保存到数据表后,要方便实现以下两点:
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列表和全部水果列表数据循环的时候去比较如果等于的就选中

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal