Подтвердить что ты не робот

Создайте уведомление о подтверждении для кнопки удаления в Angular с помощью JS

У меня есть форма, в которой есть кнопка удаления, я бы хотел создать окно подтверждения, которое появляется при нажатии кнопки удаления. Кнопка удаления в настоящее время работает. Я пробовал несколько вещей в javascript без везения. Я использую Angular.

Это лучший подход для этого?

Кроме того, кто-нибудь знает о каких-либо примерах для этого, я не нашел никакой этой работы.

$(document).ready(function(){
  $("form").validate();
  $(".radius small success button").ConfirmDialog('Are you sure?');
});
4b9b3361

Ответ 1

Похоже, что директива AngularJS немного перегружена для решения этой проблемы. Кажется, проще просто использовать прямой javascript, если вам не нужна какая-то пользовательская функциональность для вашей функции "confirm()".

if (confirm('Are you sure you want to delete this?')) {
     // TODO:  Do something here if the answer is "Ok".
}

Надеюсь, это поможет, приветствия

UPDATE: на самом деле, с Angular, было бы лучше использовать $window.confirm, поскольку это позволит вам тестировать с помощью Karma/Jasmine.

Ответ 2

Здесь другой подход. В основном это директива, которая получает строку предупреждения, которую вы хотите показать, и функцию для вызова, если пользователь принимает. Пример использования:

<button type="button" ng-really-message="Are you sure?"
ng-really-click="delete()">Delete</button>

Ответ 3

Вот как мы обрабатываем наши "диалоговые окна подтверждения" (используя загрузку)

Разметка

<div class="alert alert-block alert-error notification fade in" data-ng-show="displayLocationDeletePopup">
    <h6>Are you sure you want to delete this location?</h6>
    <div class="form-controls-alert">
        <a href="" class="btn" data-ng-click="showDeleteLocationPopup(false)">No</a>
        <a href="" class="btn btn-danger" data-ng-click="deleteVendorLocation(locationId)">Yes</a>
    </div>
</div><!-- end alert -->    

Установка модели на false при загрузке контроллера для скрытия по умолчанию с помощью ng-show

$scope.displayLocationDeletePopup = false;

При нажатии на событие для всплывающего окна вызывается функция/передает модель в

<i class="icon-remove" data-ng-click="showDeleteLocationPopup(true, location)"></i>

В контроллере:

$scope.showDeleteLocationPopup = function(options, id) {
    if (options === true) {
        $scope.displayLocationDeletePopup = true;
    } else {
        $scope.displayLocationDeletePopup = false;
    }
    $scope.locationId = id;
};

И для привязок в html выше, может либо закрыть всплывающее окно, либо запустить функцию

$scope.deleteVendorLocation = function (storeLocation) {
   // Code to run on confirmation            
};

Ответ 4

var r = confirm("Are you sure you want to Permanently delete this order?");
if (r == true) {
    (OK button click) Write the function here.....
} else {
    (Cancle button click) Write the function here.....
}

Ответ 5

Установите флажок "Удалить" в правой части каждой записи и нажав кнопку "Удалить", запись должна быть удалена из деталей и массива JSON.