Мне нужно подтвердить, что пользователь действительно хочет отправить форму через диалоговую кнопку jQuery.Я попытался поместить свою функцию ajax в мою функцию «Подтвердить», но она вернула NULL.
Как я могу вызвать функцию ajax только , если они нажимают «Подтвердить»?
Здесь у меня есть диалоговое окно div:
echo "<div id=\"dialog_confirm\">
<p style=\"font-size:20px; color:white;\">Are you sure you wanna do that?</p>
<p style=\"font-size:20px; color:white;\">All records will be removed!</p>
</div>";
ЗдесьЯ инициализирую свой диалог
//Confirmation dialog
$('#dialog_confirm').dialog({
autoOpen: false,
modal: true,
draggable: false,
resizable: false,
show: {
effect: "blind",
duration: 500
},
hide: {
effect: "fade",
duration: 500
},
buttons: {
"Confirm": function () { //Tried to place my ajax function
//here but it returned null
$(this).dialog('close');
$('#remove_domain_form')[0].reset();
},
"Cancel": function () {
$(this).dialog('close');
}
}
});
Моя функция отправки формы:
$('#remove_domain_form').submit(function (e) {
e.preventDefault();
var isEmpty = false;
$(':input:not(button)').each(function () {
if ($(this).val() === "") {
var error_text = $('#dialog p').text("All fields are required");
$('#dialog').html(error_text);
$('#dialog').dialog('option', 'title', 'Error').dialog('open');
isEmpty = true;
}
else {
$('#dialog_confirm').dialog('open');
}
});
if (!isEmpty) {
// <------ I NEED TO HAVE THE CONFIRMATION DIALOG HERE
console.log("Not Empty");
$.ajax({
url: "check-domain-remove.php",
type: "post",
dataType: 'json',
data: $('#remove_domain_form').serialize(),
success: function (response) {
if (response === "Success") {
//DO OTHER STUFF
var success_div = '<p class=\"input--success\">Domain Successfully Removed</p><br><br>';
$('body').append(success_div);
}
}
});
}
});
Редактировать : Я также пытался поместить ее в функцию, которая срабатывает при закрытии /Подтвердить событие, пока безрезультатно.Если я нажимаю «Подтвердить», возвращается ноль.Если я нажимаю «Отмена», я получаю правильные результаты!Это так странно, и я не знаю, почему это происходит.
$('#dialog_confirm').bind('dialogclose', function(event, ui) {
if($(event.target).text() != 'Cancel') {
console.log("Clicked Confirm");
$.ajax({
url: "check-domain-remove.php",
type: "post",
dataType: 'json',
data: $('#remove_domain_form').serialize(),
success: function (response) {
if (response === "Success") {
//DO OTHER STUFF
var success_div = '<p class=\"input--success\">Domain Successfully Removed</p><br><br>';
$('body').append(success_div);
}
}
});
}
});