2014-10-29 32 views
12

Silmeyi onaylamanız sorun, tüm işlemler düzgün, ancak iptal etmeyi tıklatırsanız pop-up'ı iptal ederseniz öğeyi DB'den silecektir. Herhangi bir fikir? Lütfen kod örneği ile göster, laravel için yeniyim.laravel formu ile silme işlemini onayla?

<script> 

    function ConfirmDelete() 
    { 
    var x = confirm("Are you sure you want to delete?"); 
    if (x) 
    return true; 
    else 
    return false; 
    } 

</script> 

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

    {!! Form::hidden('case_id', $project->id, ['class' => 'form-control']) !!} 

    {!! Form::button('<i class="glyphicon glyphicon-trash"></i>', array('type' => 'submit', 'class' => 'specialButton')) !!} 

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

cevap

17

Aramanız için onsubmit numaralı telefonu arayın. Böylece işlev döndürdüğü değer, formun gönderilip gönderilmeyeceğini belirler.

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

EXCELENT! Teşekkürler! – David

+0

buyrun :) – lukasgeiter

+0

Harika teşekkürler, bağlantılar için Laravel'in 'data-confirm' üzerinden kolaydı, ancak bu çok şaşırdı. – malhal

0

şu anda gerçekleşiyor tek şey silme sayfaya yönlendirmeyi geciktirir bir popup olsun olmasıdır.

Yapabilecekleriniz, yalnızca kendi başına js biçiminde bir form oluşturan bir bağlantı oluşturmaktır. Like what they're doing here (only with JQuery)

3

bu formu bir kimliği verin ve kullanabilirsiniz jQuery: bir form göndermek veya kaydı silmek istemi kutusu için

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

Basit yerine jQuery kodu. Aşağıdaki kullanıyorum

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

kusursuz çalışıyor, teşekkürler –

2

(laravel 5.3): bahsedin

{!! 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() !!} 

'onsubmit' => aksi takdirde bazı sorunlar vardı 'confirmDelete() return' Soruyu onaylamadan uyarıyı kapatıyorum.

JavaScript:

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

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

Sadece 'result' değerini döndür – peter

1

herhangi bir işlev çağrıları olmadan ...

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

örnek bir bunu genellemek 5 olur

0

Sadece düşünce laravel kullanılarak

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

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(); 
    } 
}); 
İlgili konular