2015-01-13 5 views
-1

У меня есть форма, которая позволяет пользователю удалять некоторые данные из базы данных.Добавить уведомление о подтверждении перед отправкой формы

Я хочу иметь немного подтверждения, чтобы предотвратить случайное удаление. Я хочу сделать следующее:

  1. Когда нажата кнопка отправки, появляется предупреждение с надписью «Вы уверены?».
  2. Если пользователь нажимает «да», тогда запустите сценарий
  3. Если пользователь нажимает «нет», то не отправляйте сценарий.

Как это можно сделать?

Я добавил предупреждение onSubmit, но он ничего не показывает, и он по-прежнему отправляет форму. Как я могу отложить передачу формы только тогда, когда пользователь выбирает «да» из предупреждения?

<form method="POST" action="actions/remove-daily-recipient.php" onSubmit="alert("Are you sure you wish to delete?");"> 

ответ

6

Вместо alert, вы должны использовать confirm и return

onSubmit="return confirm('Are you sure you wish to delete?'); 
0

Прекратить поведение по умолчанию, запрос на подтверждение, а затем отправить форму:

var form1 = document.getElementById('form1'); 
form1.onsubmit = function(e){ 
    var form = this; 
    e.preventDefault(); 
    if(confirm("Are you sure you wish to delete?")) 
     form.submit(); 
} 

JS скрипку: http://jsfiddle.net/dq50e963/

+0

Этот вопрос не помечен как JQuery .. – stuartd

+0

Используя это решение, я потеряю данные, которые я с формой завершения заполнения, т.е. в backand данные отсутствуют. Как вы пересылаете данные после предотвращения отправки по умолчанию таким образом? – dsalaj

+0

@dsalaj: если представление предотвращено, как данные формы достигнут сервера. Разве это не обязательное поведение? –

1

на вашей форме, вы можете попробовать с помощью функции JS, как:

<form onsubmit="return submitResult();"> 

и на вашей функции есть что-то вроде?

function submitResult() { 
    if (confirm("Are you sure you wish to delete?") == false) { 
     return false ; 
    } else { 
     return true ; 
    } 
} 

Я думаю, что это будет хорошее начало.

+0

Это действует так же, как и предыдущий код. Он просто подает форму в любом случае и переходит к сценарию. – Francesca

+0

Заменить

с –

+0

Обновленная версия - это правильный способ заставить ее работать. –

Смежные вопросы