Всплывающие окна SweetAlert2 не работают в. php файле - PullRequest
1 голос
/ 03 марта 2020

Я пытаюсь ввести всплывающие окна в соответствии с SweetAlert2 в своем веб-приложении, используя следующий код:

Код кнопки

<td>
<a class="confirmation" href="employeeindex.php?delete_id=<?php print($rowEmp['emp_id']); ?>">
<button type="submit" class="btn btn-primary" id="btn_delete">Delete</button>
</td>
</a>

Код SweetAlert2

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
        <script src="jquery-3.4.1.min.js"></script>
        <script src="sweetalert2.min.js"></script>
        <script>
            $('.confirmation').on('click', function(e){
                e.preventDefault();
                const href = $(this).attr('href')
                $wal.fire({
                    title : 'Are you sure?',
                    text : 'Employee Record will be deleted.',
                    showCancelButton : true,
                    confirmButtonColor : '#77dd77',
                    cancelButtonColor : '#d33',
                    confirmButtonText : 'Delete Record',
                }).then((result) => {
                    if (result.value){
                        document.location.href = href;
                    }
                })
            })
        </script>

Я также пытался использовать имя кнопки следующим образом:

$('#btn_delete').on('click', function(e){

Однако это не работает. Вместо этого окно сообщений вообще не отображается, и приложение не может удалить запись из базы данных. Любые идеи? Я не могу понять, что мне не хватает ...

1 Ответ

0 голосов
/ 03 марта 2020

Я видел, что ваш код выглядит некорректно:

<td>
<a class="confirmation" href="employeeindex.php?delete_id=<?php print($rowEmp['emp_id']); ?>">
<button type="submit" class="btn btn-primary" id="btn_delete">Delete</button>
</td>
</a>

Измените его на:

<td>
<a class="confirmation" href="employeeindex.php?delete_id=<?php print($rowEmp['emp_id']); ?>">
<button type="submit" class="btn btn-primary" id="btn_delete">Delete</button>
</a>
</td>

А на вашем javascript вы, кажется, вызываете 2 jQuery и sweetAlert2 скрипт, я думаю, вы должны использовать sweetAlert2 cdn:

<script src="https://cdn.jsdelivr.net/npm/sweetalert2@9"></script>

вместо:

 <script src="sweetalert2.min.js"></script>

и удалить

 <script src="jquery-3.4.1.min.js"></script>

Так как он уже вызван здесь:

 <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>

Надеюсь, что это ответит на ваш вопрос

...