У меня есть эта очень простая форма с использованием Sweet Alert, и по какой-то причине я не могу заставить ее работать. Когда я нажимаю на ссылку, он запускает предупреждение, а когда предупреждение подтверждается, он перезагружает страницу, потому что он отправляет форму.
Но почему-то, когда $_POST['delete_alert']
не определено.
Мой код для запуска предупреждения:
<a id="sa-warning">Delete</a>
Моя форма:
<form id="form" action="index.php" method="POST">
<button type="submit" name="delete_alert" value="delete">Delete</button>
</form>
И мой Javascript:
$('#sa-warning').click(function() {
swal({
title: "Are you sure?",
text: "You will not be able to recover this alert.",
type: "warning",
showCancelButton: true,
confirmButtonColor: "#DD6B55",
confirmButtonText: "Yes, delete it!",
closeOnConfirm: false
}, function() {
document.forms["form"].submit();
});
});
Я проверяю, была ли форма отправлена правильно, используя этот PHP-код, который находится на index.php:
<?php
if(isset($_POST['delete_alert'])) {
echo "form is submitted correctly";
} else {
echo "something is wrong";
}
?>
$_POST['delete_alert']
undefined - person JTC   schedule 03.02.2016document.forms["form"].submit();
быть$('#form').submit()
? Я думаю, что document.forms ожидает индекс, а не идентификатор или имя. - person twernt   schedule 03.02.2016<a id="sa-warning">
нет атрибутаhref
? - person Boldewyn   schedule 03.02.2016href
, вы инициируетеGET
запрос, потому что отправляется не форма, а<a id="sa-warning">
. Добавьтеreturn false;
(быстро и грязно) в обработчикclick
. - person Boldewyn   schedule 03.02.2016POST
данные только тогда, когда вы отправляете форму, щелкнув эту кнопку, а не при отправке с помощью Javascript (как он должен знать, какие кнопки отправки следует отправлять?). - person Barmar   schedule 03.02.2016