2017-02-08 3 views
0

私はブレードビューを持っています。ユーザーが項目を選択すると、モーダル表示が同じHTMLに表示されます。複数のボタンを使用して同じコントローラ内の異なる機能に依頼する

私のモーダルには3つのボタンがあります。各ボタンは、投稿リクエストをコントローラの特定の機能にリダイレクトする必要があります。

私が欲しいものCarsController

class CarsControllerextends Controller 
{ 
    index(){ 
     ... 
     return view('cars')->with(['car'=>$response]); 
    } 

    // execute when the user click on save button 
    save(Request $request){ 
     ... 
    } 
    // execute when the user click on delete button 
    delete(Request $request){ 
     ... 
    } 
    // execute when the user click on remove button 
    remove(Request $request){ 
     ... 
    } 

} 

モーダル

<form role="form" method="POST" action="{{ url('/guardarTurno') }}"> 
    {{ csrf_field() }} 
<!-- 3 hidden inputs to save the id of the item that the user selected ... is the best way?--> 

    <input type="hidden" id="cancha" name="cancha" value="" class="form-control"> 
    <input type="hidden" id="fecha" name="fecha" value="{{$agenda['fechaElegida']}}" class="form-control"> 
    <input type="hidden" id="hora" name="hora" value="" class="form-control"> 
    <button type="submit" class="btn btn-labeled btn-success button-infousuario"> 
     <span class="btn-label"><i class="fa fa-check fa-fw"></i></span> 
     Save 
    </button> 
    <button type="submit" class="btn btn-labeled btn-warning button-infousuario"> 
    <span class="btn-label"><i class="fa fa-exclamation-triangle fa-fw"></i></span> 
     Delete 
    </button> 
    <button type="submit" class="btn btn-labeled btn-danger button-infousuario"> 
     <span class="btn-label"><i class="fa fa-times fa-fw"></i></span> 
     Remove 
    </button> 
</form> 

は次のとおりです。

保存ボタン(保存するPOSTリクエストを作る)方法

(除去するためのポストの要求を行うボタンを削除する)方法

[削除]ボタンを削除するPOSTリクエスト()メソッド

する3つのボタンのそれぞれは、同じIDSに

感謝を必要とします!

+0

ごとにルートを定義することを忘れないでくださいDelete

ごとに異なるアクションその後

<form action="/remove" method="post"> {{ csrf_field() }} <input type='hidden' name='id' value='1' /> <button type='submit'>Remove</button> </form> 

同じになりますHTTPメソッドなどGET、POST、PUTなどと削除? –

+0

私があなただったら、別の機能を持つターゲットコントローラに異なるルートを試してみます。そして、 'Delete' –

+0

のように使うことはできません。カスタムクラスとカスタムロジックが各ボタンについています –

答えて

0

3つの異なる機能に送信するには、3つの異なるフォームを作成する必要があります。あなたのSaveボタン後

は、最初</form>を閉じます。

そして(&削除を削除)、残りのボタンのそれぞれに対して新しいフォームを開始します。各フォームには、あなたが気づいたaction=''

+0

しかし、エッチボタンの3つの異なる名前で3つの隠された入力を複製する必要がありますか? –

+0

同じ名前を使用できます。ちょうどルートが異なっている必要があります。あなたが投稿したいからです。 GETを使うと簡単になります。投稿したいので、隠された入力を複製します。同じ名前でそれは問題ではありません。彼らはすべて異なった形です – EddyTheDove

+0

私はあなたの隠された入力のいくつかが空の値を持って参照してください。さらに、隠された入力から 'class'を削除してください。彼らは見えないので、スタイリングは必要ありません。 – EddyTheDove

関連する問題