2017-01-13 2 views
0

Ich habe eine Schaltfläche zum Löschen neben meinen Projekten, die ein Popup-Modal für die Bestätigung zeigt, wann immer auf die Schaltfläche geklickt wird. Ich möchte die Ja-Taste im Modal, um dann das Projekt zu löschen, wenn diese Schaltfläche angeklickt wird.Projekt mit Modal in Laravel löschen

Ich rufe das Modal in die Projekte/Show-Ansicht mit @include. Das Modal wird angezeigt, wenn auf die Schaltfläche mit der folgenden Abfrage geklickt wird, aber die Schaltfläche "Ja" beim Klicken das Projekt nicht löscht.

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> 


<script> 
$(document).ready(function() { 

    $(".delete").on("submit", function(e){ 

     e.preventDefault(); 

     $('#myModal').modal('show'); 


    }); 

}); 

die Schaltfläche Löschen neben Projekten:

{!! Form::open(['route' => ['projects.destroy', $projects->id], 'class' => 'delete', 'method' => 'DELETE']) !!} 

      {!!Form::button('<span class="glyphicon glyphicon-remove"></span>', ['class' => 'btn btn-danger btn-md', 'type' => 'submit'])!!} 

      {!! Form::close() !!} 

Modal Code:

<!-- Modal --> 
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"> 
    <div class="modal-dialog modal-md" role="document"> 
    <div class="modal-content"> 
     <div class="modal-header"> 
     <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button> 
     <h4 class="modal-title text-center" id="myModalLabel">Delete Confirmation</h4> 
     </div> 
     <div class="modal-body text-center"> 
     Are you sure you want to delete this project? 
     </div> 
     <div class="modal-footer"> 
     <button type="submit" id="delete-btn" class="btn btn-default" >Yes</button> 

     <button type="button" class="btn btn-primary" data-dismiss="modal">Cancel</button> 
     </div> 
    </div> 
    </div> 
</div> 

ProjectController:

<?php 

namespace App\Http\Controllers; 

use App\project; 
use App\Http\Requests; 
use Illuminate\Http\Request; 
use Session; 

class ProjectsController extends Controller 
{ 

public function destroy($id){ 

     $project = Project::find($id); 

     $project->delete(); 

     Session::flash('success', 'The project was successfully deleted!'); 

     return redirect()->route('projects.show', $project->project_id); 

    } 

} 
+0

Was genau ist das Problem? – Loek

+0

Das Problem ist, wenn ich auf den Ja-Knopf im Modal klicke, tut es nichts und ich schaue auf diesen Knopf, um das Projekt zu löschen. – steven

+0

Sie verweisen auf eine Route "projects.destroy", was macht diese Route? – Loek

Antwort

1

Ändern Sie den Knopf in Ihrer modalen dazu einreichen:

{!! Form::open(['route' => ['projects.destroy', $projects->id], 'class' => 'delete', 'method' => 'DELETE']) !!} 

<button type="submit" id="delete-btn" class="btn btn-default" >Yes</button> 

{!! Form::close() !!} 

Die beste Lösung ist, Ihre Implementierung der Lösch-Schaltfläche, die Sie jetzt haben, zu entfernen und eine normale Schaltfläche zu erstellen. Lassen Sie diesen Button das Modal aufklappen und ersetzen Sie Ihre "Ja" -Schaltfläche mit einem tatsächlichen Entfernen-Button, wie ich es oben getan habe.

+0

Ich habe diesen Code zu meinem Modal hinzugefügt und ich bekomme eine undefinierte Variable - Projekte. Obwohl ich die modale Datei in die Datei show.blade.php aufgenommen habe. – steven

+0

Oh, warte, du nimmst das modale natürlich mit ein. Wenn Sie das Modal in Ihre geladene Ansicht kopieren? – Loek

+0

Kein Problem! Ich bin mir sicher, dass es einen Weg gibt, Ihr Modal einschließbar zu machen, aber ich kann Ihnen nicht helfen;) – Loek