2016-07-17 6 views
1

をコントローラに提出されていない私はこのような観点では、単純な形があります。Laravelのチェックボックスが

<form action="{{ URL::route('admin.x') }}" method="POST"> 
    <input type="text" value="b" name="title" /> 
    <input type="text" value="c" name="type" /> 
    <input type="text" value="d" name="postfix" /> 
    <input type="checkbox" name="check" value="ss" /> 
    <input type="hidden" name="_token" value="{{ csrf_token() }}"> 
</form> 

を、私は、ビューからコントローラに掲載のすべての値をチェックするため

dd(Input::all()); 

を使用。結果は以下のようなもので、フォームにチェックボックスの値を投稿する方法を知りたいです。

アレイ:4 [▼

"タイトル" => ""

"タイプ" => ""

"接尾辞" => ""

「_token "=> "kSM3pO11KOOWQcCx4PeWcbi4r4AsFx0rSGQoVFtG"

]

答えて

0

ユーザーまたはクライアント側スクリプトによってチェックされていない場合、チェックボックス入力はサーバー側スクリプトに送信されません。あなたが入力が送信されていないときに「正規化」は何とか状況は、あなたが自分でフィールドを作成することができますしたいのであれば、これらのケースでは、入力は、laravelであなたのコントローラ

に送信されません。

$data = Input::all(); 

if (! isset($data['check']) 
    $data['check'] = false; 
+0

チェックボックスは、ユーザによって確認された場合は意味、それはDD(入力::すべての())結果に表示されるのですか? –

+0

はい、チェックボックスをオンにすると、あなたの例で表示されます: '' check "=>" ss "' 'ss'はあなたが入力した値 – Moppo

+0

に割り当てられた値ですが、 –

0

このチェックボックスがオンの場合はtrueを返し、そうでない場合はfalseを返します。

Input:has('check') 
+0

チェックするかどうかの違いはありません!多分何かが間違っているかもしれませんが、それはとにかく私を返しました –

0

ご自分のサーバ側が同じ名前チェックボックスフィールド上のを隠し入力フィールドを作成することによって、それが確認されたかどうかに関係なく、チェックボックスの値を受け取ることを保証することができます。

このように、チェックボックスをオンにしないでフォームを送信すると、サーバー側は非表示の入力フィールドから値を受け取りますが、チェックボックスをオンにすると、フィールドの値が小さいためチェックされた値がサーバーに送られますフォーム。

<input type="hidden" name="checkbox" value="0"/> <input type="checkbox" name="checkbox" value="ss"/>

関連する問題