2014-10-29 5 views
12

Problem mit bestätigen löschen, alles funktioniert gut, aber wenn Sie auf Abbrechen in bestätigen Popup klicken, wird es das Element aus der Datenbank löschen. Irgendwelche Ideen? Bitte zeigen Sie mit Codebeispiel, ich bin neu in Laravel.Bestätigen Löschen mit Laravel Form?

Antwort

17

Fügen Sie einfach Return zu Ihrem onsubmit Anruf hinzu. Daher bestimmt der Wert, den die Funktion zurückgibt, ob das Formular gesendet wird oder nicht.

'onsubmit' => 'return ConfirmDelete()' 
+0

EXCELENT! Vielen Dank! – David

+0

Sie sind herzlich willkommen :) – lukasgeiter

+0

vielen Dank, für Links war es einfach über Laravel 'Daten bestätigen', aber das war ratlos. – malhal

0

Das einzige, was gerade passiert ist, dass Sie ein Popup erhalten, das die Weiterleitung auf die Löschseite verzögert.

Was Sie tun können, ist nur eine Verknüpfung generieren, die wiederum generiert ein Formular in js. Like what they're doing here (only with JQuery)

3

Sie können das Formular eine ID geben, und verwenden Sie jQuery:

{!! Form::open(['method' => 'DELETE', 'route' => ['path_delete_time', $time->id], 'id' => 'FormDeleteTime']) !!} 

    <script type="text/javascript"> 
    $("#FormDeleteTime").submit(function (event) { 
       var x = confirm("Are you sure you want to delete?"); 
        if (x) { 
         return true; 
        } 
        else { 

         event.preventDefault(); 
         return false; 
        } 

       }); 
</script> 
3

Einfache Put-jQuery-Code für Promptbox wenn Formular oder Datensatz löschen.

jQuery(document).ready(function($){ 
    $('.deleteGroup').on('submit',function(e){ 
     if(!confirm('Do you want to delete this item?')){ 
       e.preventDefault(); 
     } 
     }); 
}); 
+0

funktioniert perfekt, danke –

2

In meinem neuen Projekt (Laravel 5.3) Ich verwende die folgenden:

{!! Form::open(['method' => 'DELETE', 'route' => ['admin.user.delete', $user], 'onsubmit' => 'return confirmDelete()']) !!} 
    <button type="submit" name="button" class="btn btn-default btn-sm"> 
     <i class="fa fa-trash-o"></i> 
    </button> 
{!! Form::close() !!} 

Erwähnung der 'onsubmit' => 'Rückkehr confirmDelete()' sonst hatte ich einige Probleme, wenn Ich schließe den Alarm, ohne die Frage zu bestätigen.

JavaScript:

function confirmDelete() { 
var result = confirm('Are you sure you want to delete?'); 

if (result) { 
     return true; 
    } else { 
     return false; 
    } 
} 
+1

Gib einfach 'result' zurück – peter

1

ohne Funktion aufruft ...

'onsubmit' => 'return confirm("are you sure ?")' 

Beispiel

  {!! Form::open(['url'=>'posts/'.$post->id.'/delete','method'=>'DELETE','class'=>'form-horizontal', 
     'role'=>'form','onsubmit' => 'return confirm("are you sure ?")'])!!} 

mit Laravel 5

0

Gerade dachte ich, das sich als ein verallgemeinern würde Bit:

.html

<form method="post" action="..." class="has-confirm" data-message="Delete this Thing?">...</form> 

Js

$("form.has-confirm").submit(function (e) { 
    var $message = $(this).data('message'); 
    if(!confirm($message)){ 
    e.preventDefault(); 
    } 
});