2013-03-05 2 views
0

Добрый деньОтображение окна предупреждения на кнопке - Нокаут

Я использую форму, которая использует knocknout для добавления данных. Теперь, когда вы нажимаете кнопку «удалить» (см. Ниже), она удаляет запись без предупреждения. Как сначала предупредить пользователя о том, что он собирается удалить элемент?

Спасибо

HTML

<td><input type="button" class="register" value="Remove" data-bind="click: function(){ vm.Remove($data) }" /></td> 

Нокаут

var vm = { 
      Data: ko.observable(), 

      Remove: function (card) 
      { 
       console.log(card.CardId()); 

       var d = { 
        cardId: card.CardId() 
       } 

       var options = 
       { 
        url: "MyAccount.aspx/DeleteCard", 
        type: "POST", 
        contentType: "application/json", 
        data: JSON.stringify(d), 

        success: function (response) 
        { 
         window.location = window.location; 
        } 
       } 

       $.ajax(options); 
      } 
     } 

     var cardsBound = false; 

     $(document).ready(function() { 

      LoadCards(); 
      $("#") 
     }); 

     function LoadCards() { 
      var options = 
      { 
       url: "MyAccount.aspx/GetCardTypes", 
       type: "POST", 
       contentType: "application/json", 

       success: function (response) { 

        vm.Data(ko.utils.unwrapObservable(ko.mapping.fromJS(response.d))); 

        if (!cardsBound) 
         ko.applyBindings(vm); 
        cardsBound = true; 
       } 
      } 
      $.ajax(options); 
     } 

ответ

2

Вы можете использовать window.confirm, чтобы открыть окно подтверждения, поймать ответ и удалить его, только если ответ true. Что-то вроде этого:

data-bind="click: function(){ if (confirm('Delete, really?')) { vm.Remove($data) } }" 
+0

спасибо человеку. Работает очарование! – DextrousDave

+0

@DextrousDave Рад, что это помогло! –

1

Там нет ничего особенного knockout.js об этом, просто использовать функцию JavaScript confirm():

data-bind="click: function(){ if (confirm('really?') vm.Remove($data) }" 
+0

спасибо. Хорошо работает ... – DextrousDave

Смежные вопросы