2012-04-16 33 views
9

Tôi có chế độ xem được nhập mạnh mẽ cho mô hình của mình và điều tôi muốn là khi người dùng nhấp vào gửi, hộp xác nhận bật lên xác nhận rằng người dùng thực sự muốn gửi biểu mẫu, nếu họ nhấp hủy thì không nên kích hoạt Hành động HttpPost cho Chế độ xem đó, điều này có khả thi không?ASP.NET MVC - Có nút xác nhận với Biểu mẫu

Trả lời

23

Tất nhiên điều đó là có thể. Tôi thích sử dụng một cách tiếp cận kín đáo. Dưới đây là một ví dụ đơn giản:

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

Sau đó, bạn chỉ cần thêm một thuộc tính dữ liệu xác nhận để nút gửi của bạn ví dụ

<input type="submit" data-confirm="are u sure?" /> 

Tất nhiên bạn có thể sử dụng thuộc tính này trên các liên kết, các nút, v.v. bạn không bị giới hạn chỉ gửi các nút và nếu bạn muốn triển khai hộp thoại xác nhận fancier muộn hơn bạn sẽ chỉ phải thay thế mã ở một nơi.

+0

Tôi thích phương pháp này! Cảm ơn! – CallumVass

+0

không phô trương, thông minh! –

+0

Tôi có

làm tác vụ biểu mẫu của tôi và không có giải pháp nào tôi đã thử làm việc . Tất cả đều hiển thị một cuộc đối thoại xác nhận nhưng sau đó không gửi dữ liệu biểu mẫu nếu bạn nhấp vào "có". Bất kỳ đề xuất sẽ được đánh giá rất cao. – Darkloki

3

bạn có thể thêm một cuộc gọi jQuery đơn giản cho điều đó.

ở phần cuối của tầm nhìn của bạn thêm:

<script type="text/javascript"> 

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

     return confirm('Are you sure?'); 

    }); 

</script> 

hay, thêm một

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

như một thuộc tính nguyên tố mới

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

gọi doSubmit() chức năng trên onsubmit sự kiện của biểu mẫu, Ví dụ: onsubmit="return doSubmit()

0

Tôi tin rằng điều này có thể được thực hiện bằng cách ghi đè nút gửi bằng jquery. Jquery .submit()

Bằng cách này, khi người truy cập gửi, bạn có thể hiển thị một tin nhắn và gửi hoặc hủy tin nhắn đó.

Các vấn đề liên quan