bootbox подтвердить - включить href, когда выбрано OK

Я пытаюсь добавить bootbox.js на тестовую страницу.

В настоящее время, когда я включаю тег href в гиперссылку, которая запускает загрузочную коробку, href запускается независимо от того, какую кнопку подтверждения я нажимаю («Отмена» или «ОК»).

Как включить тег href в js-код bootbox, чтобы он срабатывал только тогда, когда пользователь выбирает вариант подтверждения OK? Я пробовал несколько попыток, но безрезультатно.

Вот гиперссылка с тегом href:

<a id="id_customized_details_duplicate" href="{% url customized_details_duplicate customized_detail.id %}">Duplicate</a>

Вот код js моего книжного ящика:

    $(document).ready(function(){
        $('#id_customized_details_duplicate').on('click', function(){
            bootbox.confirm("Are you sure?", function(result) {
                if (result) {
                    //include the href duplication link here?;
                    //showProgressAnimation();
                    alert('OK SELECTED');
                } else {
                    alert('CANCEL SELECTED');
                }
            });
        });
    });

person user1261774    schedule 08.05.2014    source источник


Ответы (1)


Попробуйте таким образом, предотвратите действие по умолчанию anchor tag и добавьте вызов перенаправления окна с соответствующим href местоположением в обработчике подтверждения bootbox (когда нажата опция «ОК»).

 $(document).ready(function(){
    $('#id_customized_details_duplicate').on('click', function(event){
                   event.preventDefault();
        bootbox.confirm("Are you sure?", function(result) {
            if (result) {
                 //include the href duplication link here?;
                 window.location = $(this).attr("href");

                //showProgressAnimation();
                alert('OK SELECTED');
            } else {
                alert('CANCEL SELECTED');
            }
        });
    });
});

РЕАЛЬНАЯ ДЕМО-ВЕРСИЯ: http://jsfiddle.net/dreamweiver/9he30z4y/255/

Удачного кодирования :)

person dreamweiver    schedule 08.05.2014
comment
Спасибо за код, но я возился с ним уже несколько часов, потому что window.location = $(this).attr(href); строка кода не работает. Какие-либо предложения? - person user1261774; 09.05.2014
comment
@ user1261774: не могли бы вы создать jsfiddle, я проверю его там - person dreamweiver; 09.05.2014
comment
@ user1261774: здесь все работает так, как задумано, jsfiddle.net/dreamweiver/gvK5t. - person dreamweiver; 09.05.2014
comment
Спасибо за вашу помощь. У меня это работает сейчас - благодаря вашему jfiddle. - person user1261774; 09.05.2014
comment
ссылка jsfiddle не работает. - person JoshYates1980; 20.03.2017
comment
@JoshYates1980 JoshYates1980: не знаю, почему ссылка jsfiddle не работает, но в любом случае я исправил. jsfiddle.net/dreamweiver/9he30z4y/255. Спасибо, что дал мне знать :) - person dreamweiver; 22.03.2017