Отменить отправку формы с JS - PullRequest
0 голосов
/ 23 мая 2018

для аргументов, скажем, это мой код.

function the_delete() { 

if(confirm('Delete your Account')){
alert("Account Deleted, Redirecting to homepage");
} else {
//Stop the submit
}

}
<form method="post" action="my-account/settings/delete-account">
 <button class="btn" onclick="the_delete()">Delete Account</button>
     </form>

Как остановить отправку формы, когда пользователь нажимает кнопку отмены?

спасибо

1 Ответ

0 голосов
/ 23 мая 2018

Вам необходимо вернуть значение true или false из функции onclick.

Это означает, что вам нужно изменить как функцию onclick, так и функцию the_delete.

function the_delete() {

  if (confirm('Delete your Account')) {
    alert("Account Deleted, Redirecting to homepage");
    return true;
  } else {
    return false;
  }

}
<form method="post" action="my-account/settings/delete-account">
  <button class="btn" onclick="return the_delete()">Delete Account</button>
</form>

Современный JavaScript (предназначенный для браузеров, более современных, чем Internet Explorer 8) будет связывать обработчики событий с JavaScript и манипулировать объектом события вместо этого.

function the_delete(event) {
  if (confirm('Delete your Account')) {
    alert("Account Deleted, Redirecting to homepage");
  } else {
    event.preventDefault()
  }
}

document.querySelector("form").addEventListener("submit", the_delete);
<form method="post" action="my-account/settings/delete-account">
  <button class="btn">Delete Account</button>
</form>
...