使用 <a> 使用 jquery 双重确认 SweetAlert
Double confirmation SweetAlert with jquery using <a>
我想删除一个账号的时候要进行双重确认,我真的很纠结。我在论坛上查看过,但似乎没有什么比我的问题更好的了。我正在使用 Symfony
我的 UserAccountController 上的 deleteAccount 函数:
/**
* @Route("user/account/delete", name="user_delete")
*/
public function deleteAccount(): Response{
$user = $this->getUser();
$this->container->get('security.token_storage')->setToken(null);
$entityManager = $this->getDoctrine()->getManager();
$entityManager->remove($user);
$entityManager->flush();
$this->addFlash(
'success',
'Account Deleted successfully'
);
return $this->redirectToRoute('homepage');
}
我的 link 观点:
<a href="{{ path('user_delete') }}" class="btn btn-danger deleteButton">Delete Account</a>
还有我的 jquery :
$('.deleteButton').on('click', function() {
event.preventDefault();
Swal.fire({
title: 'Are you sure?',
text: "You won't be able to revert this!",
icon: 'warning',
showCancelButton: true,
confirmButtonColor: '#3085d6',
cancelButtonColor: '#d33',
confirmButtonText: 'Yes, delete it!'
}).then((result) => {
if (result.isConfirmed) {
setTimeout( function () {
$.get($(this).attr('href'),{});
}, 1200);
Swal.fire(
'Deleted!',
'',
'success'
)
}
})
});
您必须将删除 url 存储在变量中,因为 'this' 不再引用按钮
$('.deleteButton').on('click', function() {
event.preventDefault();
const deleteUrl = $(this).attr('href');
Swal.fire({
title: 'Are you sure?',
text: "You won't be able to revert this!",
icon: 'warning',
showCancelButton: true,
confirmButtonColor: '#3085d6',
cancelButtonColor: '#d33',
confirmButtonText: 'Yes, delete it!'
}).then((result) => {
if (result.isConfirmed) {
setTimeout( function () {
$.get(deleteUrl,{});
}, 1200);
Swal.fire(
'Deleted!',
'',
'success'
)
}
})
或者这样做,
setTimeout( function () {
$.get('{{ path('user_delete') }}',{});
}, 1200);
我想删除一个账号的时候要进行双重确认,我真的很纠结。我在论坛上查看过,但似乎没有什么比我的问题更好的了。我正在使用 Symfony
我的 UserAccountController 上的 deleteAccount 函数:
/**
* @Route("user/account/delete", name="user_delete")
*/
public function deleteAccount(): Response{
$user = $this->getUser();
$this->container->get('security.token_storage')->setToken(null);
$entityManager = $this->getDoctrine()->getManager();
$entityManager->remove($user);
$entityManager->flush();
$this->addFlash(
'success',
'Account Deleted successfully'
);
return $this->redirectToRoute('homepage');
}
我的 link 观点:
<a href="{{ path('user_delete') }}" class="btn btn-danger deleteButton">Delete Account</a>
还有我的 jquery :
$('.deleteButton').on('click', function() {
event.preventDefault();
Swal.fire({
title: 'Are you sure?',
text: "You won't be able to revert this!",
icon: 'warning',
showCancelButton: true,
confirmButtonColor: '#3085d6',
cancelButtonColor: '#d33',
confirmButtonText: 'Yes, delete it!'
}).then((result) => {
if (result.isConfirmed) {
setTimeout( function () {
$.get($(this).attr('href'),{});
}, 1200);
Swal.fire(
'Deleted!',
'',
'success'
)
}
})
});
您必须将删除 url 存储在变量中,因为 'this' 不再引用按钮
$('.deleteButton').on('click', function() {
event.preventDefault();
const deleteUrl = $(this).attr('href');
Swal.fire({
title: 'Are you sure?',
text: "You won't be able to revert this!",
icon: 'warning',
showCancelButton: true,
confirmButtonColor: '#3085d6',
cancelButtonColor: '#d33',
confirmButtonText: 'Yes, delete it!'
}).then((result) => {
if (result.isConfirmed) {
setTimeout( function () {
$.get(deleteUrl,{});
}, 1200);
Swal.fire(
'Deleted!',
'',
'success'
)
}
})
或者这样做,
setTimeout( function () {
$.get('{{ path('user_delete') }}',{});
}, 1200);