Я пытаюсь сделать всплывающее окно подтверждения, прежде чем пользователь отправит форму с CodeIgniter, но часть триггера / отправки не работает. Он запрашивает подтверждение, но не отправляет форму.
Мой HTML:
<?php
echo form_open(site_url("action"), array('id' => "order" , )) ?>
<input type="text" class="form-control" name="anything" value="">
<button type="submit" id="btn-submit" class="btn btn-danger" class="form-control">Submit</button>
<?php echo form_close() ?>
А вот и JavaScript
$('#btn-submit').on('click',function(e){
e.preventDefault();
var form = $(this).parents('form');
swal({
title: "Are you sure?",
text: "You will not be able to recover this imaginary file!",
type: "warning",
showCancelButton: true,
confirmButtonColor: "#DD6B55",
confirmButtonText: "Yes, delete it!",
closeOnConfirm: false
}, function(isConfirm){
if (isConfirm) form.submit();
});
});
Я также попытался нацелить / выбрать идентификатор формы вместо кнопки, но та же проблема. Ресурсы загружены правильно.
Измени это:
var form = $(this).parents('form');
в
var form = $(this).parent('form');
и попробуй еще раз.
Я на самом деле использовал неправильную функцию. Функция, которую я использовал, была от sweetalert, пока я загружал sweetalert2. Я изменил код с
swal({
{... closeOnConfirm: false},
function() {
// Function
}
});
в
swal({
...
showLoaderOnConfirm: true,
preConfirm: function() {
//function
}).then(function() {
swal('Processing');
});
и это работает