2009-12-03 26 views
7

Làm thế nào tôi có thể đạt được điều này?Cách dễ nhất để tạo thông báo xác nhận với jQuery/JavaScript?

  1. Người dùng nhấp vào liên kết xóa (có lớp "xác nhận").
  2. Thông báo xác nhận xuất hiện hỏi "Bạn có chắc chắn không?" với tùy chọn "Có" và "Hủy".

Nếu có chọn, liên kết sẽ tiếp tục khi được nhấp, nhưng nếu hủy được chọn, hành động sẽ bị hủy.

Cập nhật: mã làm việc cuối cùng với confirm() nhờ this guy:

$('.confirm').click(function() { 
    return confirm("Are you sure you want to delete this?"); 
}); 
+0

bạn đã đặt nó trong một $ (document) .ready() {}? – helloandre

+0

Có, trong tài liệu của tôi đã sẵn sàng. – Andrew

Trả lời

17

Javascript cung cấp một hộp thoại xác nhận dựng sẵn.

if (confirm("Are you sure?")) 
{ 
    // continue with delete 
} 
+0

Sẽ cung cấp cho bạn các tùy chọn OK và Hủy. –

+0

không thể đánh bại nó cho sự dễ chịu. – nickf

+0

Câu trả lời đơn giản nhất thường là câu trả lời chính xác :) – AntonioCS

0

Tôi đã triển khai thành công hộp xác nhận trong Jquery. đảm bảo rằng bạn có thư viện Jquery và css BAO GỒM trong mã của bạn trước khi thử nó (jquery-ui-1.8.16.custom.css, jquery-1.6.2.js, jquery-ui-1.8.16.custom.min. js). Sự khác biệt chính GIỮA HỘP XÁC NHẬN JAVASCRIPT VÀ HỘP NÀY R WENG CHÚNG TÔI TẠO SỬ DỤNG DIV - LÀ R --NG - XÁC NHẬN XÁC NHẬN S WA DÀNH CHO NGƯỜI DÙNG, SAU KHI NGƯỜI DÙNG ĐĂNG NHẬP CÓ/KHÔNG DÒNG TIẾP THEO S EX THỰC HIỆN, TẠI ĐÂY BẠN PHẢI LÀM CÓ, HOẶC NO BLOCK - ** dòng tiếp theo của mã sau khi showConfirm() sẽ thực hiện ngay lập tức * vì vậy hãy cẩn thận

/** add this div to your html 

*/

var $confirm; 
var callBack; 
var iconStyle = '<span class="ui-icon ui-icon-alert" style="float:left; margin:0 7px 50px 0;"></span>'; 
var messageStyleStart = '<span align="center" style="font-family:arial, verdana, sans-serif;font-size:9.3pt;">'; 
var messageStyleEnd = '</span>'; 


$(document).ready(function(){ 
    $('#confirmDialog').dialog({ 
      autoOpen: false, 
      modal: true 
    }); 


    //jquery confirm box -- the general alert box 
    $confirm = $('<div style="vertical-align:middle;"></div>') 
    .html('This Message will be replaced!') 
    .dialog({ 
     autoOpen: false, 
     modal: true, 
     position: 'top', 
     height:300, 
     width: 460, 
     modal: true, 
     buttons: { 
      Ok : function() { 
       $(this).dialog("close"); 
       if(null != callBack) 
        callBack.success(); 
      }, 
      Cancel: function() { 
       $(this).dialog("close"); 
       if(null != callBack) 
        callBack.fail(); 
      } 
     } 
    }); 

}); 

    function showConfirm(message,callBackMe,title){ 
    callBack = null; 
    $confirm.html(""); // work around 
    $confirm.html(iconStyle + messageStyleStart +message + messageStyleEnd); 
    if(title =='undefined'|| null ==title) 
     $confirm.dialog("option", "title", "Please confirm"); 
    else 
     $confirm.dialog("option", "title", title); 
    var val = $confirm.dialog('open'); 
    callBack = callBackMe; 
    // prevent the default action 
    return true; 
} 

    // Now for calling the function 
// create a Javascript/jSOn callback object 

var callMeBack = { 
        success: function() 
          { // call your yes function here         
           clickedYes(); 
           return; 
          }, 
        fail: function(){ 
           // call your 'no' function here 
           clickedNo(); 
           return ; 
          } 
       }; 


    showConfirm("Do you want to Exit ?<br/>"+ 
        ,callMeBack1,"Please Answer"); 
1

trong expe của tôi rience đây là cách tốt nhất và dễ nhất để có xác nhận!

<a href="#" onclick="return myconfirm()">Confirm</a> 
<script> 
function myconfirm() 
{ 
    if(confirm('Are You Sure ...')) 
     return true; 
    return false; 
} 
</script> 
+1

một cách dễ dàng hơn nữa là sử dụng giá trị trả về của hàm xác nhận: 'onclick =" return confirm ('Bạn có chắc chắn?') "' – Andrew

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