2012-04-16 26 views
9

ile bir onay düğmesi olması Modelim için çok yazılan bir görünümüm var ve ne istediğim kullanıcı gönderdiğinde tıklandığında, kullanıcının gerçekten yaptığını onaylayan bir onay kutusu açılır Formu göndermek istiyorlarsa, iptal ettikleri takdirde, HttpPost Bu Görünüm'ün eylemini tetiklememeli, bu mümkün mü?ASP.NET MVC - Form

cevap

23

Elbette bu mümkündür. Göze batmayan bir yaklaşım kullanmayı seviyorum. İşte basitleştirilmiş bir örnektir:

jQuery(document).ready(function() { 
    jQuery('[data-confirm]').click(function (e) { 
    if (!confirm(jQuery(this).attr("data-confirm"))) 
    { 
     e.preventDefault(); 
    } 
    }); 
}); 

Sonra sadece örnek

<input type="submit" data-confirm="are u sure?" /> 
sen bağlantıları, düğmeler bu özelliği kullanabilirsiniz Tabii

için gönder düğmesi için bir veri-onayla öznitelik eklemek gerekir, vb. sadece düğmeleri göndermekle sınırlı değilsiniz ve eğer daha sonra bir meraklısı onaylama diyaloğu uygulamak istiyorsanız, kodu sadece bir yerde değiştirmeniz gerekeceğinden emin olun.

+0

Bu yaklaşımı beğeniyorum! Teşekkürler! – CallumVass

+0

göze batmayan, akıllı! –

+0

form eylemim ve çalıştığım çözümlerin hiçbiri yok . Hepsi bir onaylama diyaloğu gösterir, ancak "evet" i tıklarsanız form verilerini göndermeyin. Herhangi bir öneri çok takdir edilecektir. – Darkloki

3

Bunun için bir jQuery çağrısı ekleyebilirsiniz. senin bakış sonunda

ekleyin: Yeni bir eleman özelliği olarak bir

onsubmit="return confirm('Are you sure?');" 

ekleyin

<script type="text/javascript"> 

    $("form").submit(function() { 

     return confirm('Are you sure?'); 

    }); 

</script> 

veya

4
 function doSubmit() 
     {         
       if(window.confirm("ARE YOU SURE TO PERFORM THIS ACTION")) 
       {      
        return true; 
       } 
       else return false;     
     } 

çağrı doSubmit() fonksiyonu onsubmit olayı form, Ör- onsubmit="return doSubmit()

0

Bunun jQuery kullanarak gönderme düğmesini geçersiz kılarak yapılabileceğine inanıyorum. Jquery .submit()

Bu şekilde, kişi gönderdiğinde isabetli bir mesaj gösterebilir ya da gönderebilir ya da iptal edebilirsiniz.