Задать вопрос
@JohnnyParazit

Как остановить выполнение onclick и продолжить по выполнению js?

Есть форма, в ней есть button. По нажатию идет удаление файла, решил прикрутить sweetalert (красивые события onclick). Нажимаю на кнопку, выскакивает событие, но не успеваю я даже выбрать да или нет, как идет выполнение url формы.

<button name="form_name" value="val_name" onclick="return sweetalertclick();" type="submit">Удалить</button>


<script>
function sweetalertclick(){
Swal({
  title: 'Вы уверены?',
  text: "Вы не сможете отменить своё действие!",
  type: 'warning',
  showCancelButton: true,
  confirmButtonColor: '#3085d6',
  cancelButtonColor: '#d33',
  confirmButtonText: 'Да, удалить!'
}).then((result) => {

  if (result.value) {
    Swal(
      'Удалено!',
      'Всё что вы отметили было удалено',
      'success'
    )}})}
</script>


Решил пойти немного другим путем, думаю дай добавлю в onclick return false;
А в js return true; Делаю так:

<button name="form_name" value="val_name" onclick="sweetalertclick(); return false;" type="submit">Удалить</button>


<script>
function sweetalertclick(){
Swal({
  title: 'Вы уверены?',
  text: "Вы не сможете отменить своё действие!",
  type: 'warning',
  showCancelButton: true,
  confirmButtonColor: '#3085d6',
  cancelButtonColor: '#d33',
  confirmButtonText: 'Да, удалить!'
}).then((result) => {

  if (result.value) {
  return true,
    Swal(
      'Удалено!',
      'Всё что вы отметили было удалено',
      'success'
    )}})}
</script>


Во втором случае жму на кнопку, выскакивает уведомление, выполнение формы не идет, нажимаю Да, удалить. И тишина. Визуализация скрипта прошла, а форма не выполнена!

Как быть!? Что не так!? Заранее спасибо!
  • Вопрос задан
  • 1501 просмотр
Подписаться 1 Простой 1 комментарий
Пригласить эксперта
Ответы на вопрос 1
@yapaha
Разработчик
У вас в скрипте ассинхронный код, в таком случае вам поможет preventDefault и/или stopPropagation, перед запуском ассинхронного кода, а после выполнения нужно сабмитить форму пренудительно
https://developer.mozilla.org/en-US/docs/Web/API/E...
https://learn.javascript.ru/forms-submit
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы