2017-09-05 95 views
1

這可能是重複的,但我找不到答案。我有一個按鈕,正在進行ajax調用,並在點擊時執行功能。但我需要通過彈出「確定要刪除此帳戶嗎?」來限制這一點。與「是」,「否」選項。我使用一個按鈕來刪除/添加賬戶,所以確認對話中的文本應該相應地改變。針對jQuery的按鈕點擊確認對話框

<button type="submit" id="StatusChange" name="StatusChange" class="btn btn-primary pull-right"> 
    "Click to Delete Account" 
</button> 

$("#StatusChange").click(function() { 
    var state = 'ACTIVE'; 
    var id = '12345'; 
    $.ajax({ 
    type: "POST", 
    url: '@Url.Action("ChangeAccountStatus", "Account")', 
    data: { currentStatus: state, accountId:id }, 
    success: function(data){ 
     location.reload(); 
    } 
    }); 
}); 

謝謝!

+0

的可能的複製[攔截jQuery.ajax()的調用確認() ](HTTPS://stackoverflow.c om/questions/6384251/intercepting-a-jquery-ajax-call-with-confirm) – showdev

回答

2
$("#StatusChange").click(function() { 

var x=confirm("Are you sure you want to delete?!"); 
      if(x){ 
      var state = 'ACTIVE'; 
      var id = '12345'; 
      $.ajax({ 
       type: "POST", 
       url: '@Url.Action("ChangeAccountStatus", "Account")', 
       data: { currentStatus: state, accountId:id }, 
       success: function(data) 
       { 
        location.reload(); 
       } 
      }); 
     } 
    }); 

樣品:

$("#StatusChange").click(function() { 
 
     var num=$("#Num").val(); 
 
     var x=confirm(num==1?"Are you sure you want to delete?!":"Are you sure you want to Update?!"); 
 
     if(x){ 
 
     if(num==1) 
 
     $("div").remove(); 
 
     else 
 
      $("div").text("test Update"); 
 
     } 
 
    });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input id="Num" type="number" value="1"/> 
 
<input type="button" id="StatusChange" value="delete"/> 
 
<br> 
 
<div>Test</div>

+0

感謝隊友,有沒有一種方法可以根據情況更改確認的文本。我使用相同的按鈕來刪除和添加一個帳戶,我有一個按鈕應該做什麼的標誌,文本應該像「你確定要刪除嗎?」如果該標誌(StatusId = 0)或「你確定要添加?」如果標誌(StatusId = 1) –

+0

是您可以先根據條件創建一個文本並將其存儲在一個變量中,然後將該變量添加到確認窗口中。 –

+0

我編輯了示例代碼。我希望這個示例能夠有用 –

1

使用標準的JavaScript確認對話框,如下所示:

$("#StatusChange").click(function() { 
var result = confirm("Want to delete?"); 
if (result) { 
    var state = 'ACTIVE'; 
    var id = '12345';  
    $.ajax({ 
      type: "POST", 
      url: '@Url.Action("ChangeAccountStatus", "Account")', 
      data: { currentStatus: state, accountId:id }, 
      success: function(data){location.reload();} 
      }); 
}     
}); 

你可以閱讀更多here

1
$("#StatusChange").click(function() { 
    var state = 'ACTIVE'; 
    var id = '12345'; 

    if (confirm("Are you sure to delete this account?")) { 
    $.ajax({ 
     type: "POST", 
     url: '@Url.Action("ChangeAccountStatus", "Account")', 
     data: { 
     currentStatus: state, 
     accountId: id 
     }, 
     success: function(data) { 
     location.reload(); 
     } 
    }); 
    } // can optionally add an else statement here if user cancelled 
}); 
1

像這樣:

$("#StatusChange").click(function() { 

if(confirm("Are you sure you wish to continue?")){ 
      var state = 'ACTIVE'; 
      var id = '12345'; 
      $.ajax({ 
       type: "POST", 
       url: '@Url.Action("ChangeAccountStatus", "Account")', 
       data: { currentStatus: state, accountId:id }, 
       success: function(data) 
       { 
        location.reload(); 
       } 
      }); 
} 
});