2014-03-05 4 views
-2

Я пытаюсь создать окна подтверждения после нажатия на ссылку «Удалить это».Подтвердить удаление без события onClick

Я могу сделать это с использованием события onClick. Однако я читал, что это не круто. Итак, я нашел классную библиотеку, чтобы сделать для меня поля подтверждения. Это называется Bootbox, но я думаю, это не имеет значения.

Это то, что я сделал (вставили, на самом деле):

Я получил ссылку так:

<a class="confirm" href=#>Delete Record|</a> 

Это Java-код для обработки щелкающие событий для этого якоря:

$(document).on("click", ".confirm", function(e) { 
    bootbox.confirm("?", function(result) { 
    console.log(result); 
    }); 
}); 

Я могу получить вход пользователя как это. Тем не менее, я не знаю, как разрешить пользователю перейти на страницу удаления, если он нажал кнопку «Да» или ничего не сделал, когда он нажал No.

Каков наилучший способ сделать это?

+3

Мне любопытно, где вы читаете об этом, не будучи крутым ахаха. – Incognito

+3

@Kuma 'confirm()' приглашения являются синхронными (блокировать остальную часть приложения) и не настраиваются ... – Ian

+0

@UnknownUser обновил вопрос. –

ответ

0

EDIT: (первая была не по теме)

Вы должны переадресовать HREF вашей ссылки в обратном вызове приведут только результат верен, так

<a href="/Page/Delete/2" class="confirm">Delete</a> 


$(document).on("click", "a.confirm", function (e) { 
    e.preventDefault(); 
    var target = $(e.target); 
    bootbox.confirm("?", function (result) { 
     if (result) { 
      window.location.href = $(target)[0].href; 
     } 
    }); 
}); 
+0

Это то, что вы поняли из вопрос? Я хочу, чтобы пользователь перешел на страницу mypage.com/delete/12, если он нажимает кнопку «Удалить 12» и ничего не делает, если щелкнул № –

+0

@citizen_of_noobville Где вы храните этот «/ delete/12» URI? «Href» вы разместили шоу «#» – Ian

+0

Извините, я слишком быстро прочитал вопрос. Я отредактирую свой ответ. Вы должны позвонить своему запросу в подтверждение функции обратного вызова – binard

0

Это действительно зависит от того, как хранить данные, вы хотите удалить. Если вы просто хотите скрыть удаленный элемент со страницы, вы можете сделать это с помощью javascript. например .:

$(document).on("click", ".alert", function(e) { 
bootbox.confirm("?", function(result) { 
$(this).hide(200); // animated 
}); 
}); 

Если хранить данные вы показываете в базе данных, вы должны использовать Ajax для запроса, например PHP, которые стирают данные из базы данных.