Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 29.12.2021, 13:53
Интересующийся
Отправить личное сообщение для nameivan Посмотреть профиль Найти все сообщения от nameivan
 
Регистрация: 24.05.2008
Сообщений: 17

Нестандартный confirm на Sweetalert
Всех с наступающим!

Кто-нибудь использует такую библиотеку?
Меняет стандартные alert на симпатичное окошко.
Вот с алертом все понятно и просто. Вместо alert просто вписываем swal. А как быть с confirm?

Вызываю функцию так onsubmit="return function delete ()"

Сама функция
function delete ()
{
  valid = false;
  swal(
{
title:"Удалить?",
text:"Вы уверены?",
icon: "warning",
buttons:true,
dangerMode: true,
}
)
.then((willDelete) => {
  if (willDelete) {
   valid = true
    });
  } else {
    valid = false;
  }
return valid;
}

Но не выпадает никаких окон, сразу удаляется файл без предупреждения.
Если из этого фрагмента убрать часть
.then((willDelete) => {
  if (willDelete) {
   valid = true
    });
  } else {
    valid = false;
  }

То окно будет всплывать. Но, конечно, ничего не будет происходить.

Как исправить?
Ответить с цитированием
  #2 (permalink)  
Старый 29.12.2021, 14:34
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,492

Напрямую - никак. Синхронная работа с UI невозможна.

В функции вызываемой в onsubmit в любом случае останавливаете отправку( event.preventDefault() ), а уже после того как пользователь что-то выберет в окошке - вызываете submit() формы вручную(или не вызываете).
Чтоб отличить submit пользователя от вашего ручного submit - можно смотреть на параметр event.isTrusted или просто ставить какой-то флаг.
__________________
29375, 35

Последний раз редактировалось Aetae, 29.12.2021 в 14:36.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
confirm срабатывает раньше кода выше MC-XOBAHCK Общие вопросы Javascript 12 24.08.2019 04:04
Как перехватить confirm zawm Events/DOM/Window 11 14.09.2016 13:05
confirm свое оформление ninzzo Общие вопросы Javascript 5 06.01.2015 14:41
Confirm несколько раз. prowoke jQuery 3 05.09.2012 17:14
confirm, остановка setInterval псевдочеловек Общие вопросы Javascript 5 03.07.2011 14:15