2017-02-08 3 views
0

Ich habe eine Blade-Ansicht. Wenn der Benutzer ein Element auswählt, wird eine modale Ansicht im selben HTML angezeigt.Post Anfrage mit mehreren Tasten zu verschiedenen Funktionen in der gleichen Steuerung

Mein Modal haben 3 Tasten. Jede Taste muss um nach Anforderung an bestimmte Funktionen in meinem Controller umleiten.

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){ 
     ... 
    } 

} 

Modal

<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> 

Was ich will, ist:

Schaltfläche Speichern ein Post-Anforderung() -Methode

speichern machen

Schaltfläche Entfernen eine Post-Anforderung machen() -Methode

Schaltfläche Löschen ein Post-Request-Methode löschen()

Jede der drei Schaltfläche müssen die selben IDs

Dank machen entfernen!

+0

zu definieren Haben Sie http Methode so früh wie GET, POST, PUT und LÖSCHEN? –

+0

Wenn ich Sie wäre, werde ich verschiedene Routen zum Ziel-Controller mit unterschiedlicher Funktion versuchen. Und mit, wie 'Delete' –

+0

kann ich nicht. Ist eine benutzerdefinierte Klasse und eine benutzerdefinierte Logik für jede Taste –

Antwort

0

Sie müssen 3 verschiedene Formulare erstellen, um sie an 3 verschiedene Funktionen zu senden.

Nach Ihrer Save Taste, schließen Sie die erste </form>.

Dann starten Sie ein neues Formular für jede der verbleibenden Tasten (Löschen & Entfernen). Jede Form wird eine andere Aktion

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

Dann das gleiche für Delete

Vergessen Sie nicht, Routen für jeden der action=''

+0

Aber für Ech-Taste muss ich die 3 versteckte Eingabe mit 3 verschiedenen Namen replizieren? –

+0

können Sie den gleichen Namen behalten. Nur die Route muss anders sein. Dies ist, weil Sie posten möchten. Wäre mit GET einfacher. Da Sie posten möchten, replizieren Sie die versteckte Eingabe. mit dem gleichen Namen. Es ist egal. Sie sind alle verschiedene Formen – EddyTheDove

+0

auch sehe ich einige Ihrer versteckten Eingänge haben leere Werte. Entfernen Sie außerdem 'class' von versteckten Eingaben. Sie brauchen kein Styling, weil sie unsichtbar sind. – EddyTheDove

Verwandte Themen