Matas - developer Ответов: 1

Когда я нажимаю кнопку Удалить это просто освежает но не удаляет


<?php

    $query = "SELECT * FROM darb ORDER BY darb_id DESC ";
    $select_darb = mysqli_query($connection, $query);

    while ($row = mysqli_fetch_assoc($select_darb)) {
        $darb_id            = $row['darb_id'];
        $darb_user          = $row['darb_user'];
        $darb_title         = $row['darb_title'];
        $darb_status        = $row['darb_status'];
        $darb_date          = $row['darb_date'];
        $darb_work          = $row['darb_work'];
        $darb_finish        = $row['darb_finish'];
        $darb_result        = $row['darb_result'];
        $darb_fileUpload    = $row['darb_fileUpload'];
        $darb_payment       = $row['darb_payment'];

        echo "<tr>"; ?>


Что я уже пробовал:

I have tried a lot of advice online but couldn't resolve this problem.

F-ES Sitecore

Вызывается ли ваше событие click?

Matas - developer

Я думаю, что да, всплывающее модальное окно открывается, но затем я нажимаю кнопку delete с удаленным url-адресом, это просто обновление страницы.

F-ES Sitecore

В соответствии с вашим кодом он изменяет ссылку удалить, чтобы перейти к darb.php с помощью параметра "удалить" идентификатор. Если ваш сайт перенаправляется на этот url-адрес, когда вы нажимаете ссылку удалить, то он делает то, для чего он закодирован.

Andre Oosthuizen

Покажите нам ваш код в darb.php кроме того, вы вызываете страницу, но кажется, что на вашей php-странице ничего не происходит (нет удаления), код кажется неправильным, так как именно здесь произойдет удаление.

Matas - developer

Я добавляю: darb.php код

Andre Oosthuizen

Отличный. добавьте код - var_dump($bulk_options); после этой строки - $bulk_options = $_POST['bulk_options']; и дайте мне знать, что было возвращено. Чтобы ваше удаление работало, оно должно быть "Ištrinti"

1 Ответов

Рейтинг:
1

Afzaal Ahmad Zeeshan

Цитата:
это просто освежает, но не удаляет
Это основная проблема с jQuery и другими обработчиками событий JavaScript на странице. Когда вы нажимаете кнопку, запускается событие JavaScript, которое вы прикрепляете к нему, но это не мешает браузеру выполнять действие по умолчанию, связанное с элементом.

Для button или input[type='submit'], браузер разместит контент на сервере и перезагрузит страницу. В обычных случаях страница обновляется, если к форме не применен атрибут действия (если элемент находится внутри формы). form).

Простой способ справиться с этим-добавить event.preventDefault() к обработчику, который не дает браузеру "обновить" страницу. Таким образом, ваш код JavaScript должен быть похож:

$(document).ready(function(){
  $(".delete_link").on('click', function(){
      event.preventDefault(); // <-- this here

      var id = $(this).attr("rel");
      var delete_url = "darb.php?delete="+ id;
      $(".modal_delete_link").attr("href", delete_url);
      $("#myModal").modal('show');
  });
});
Теперь ваш код будет работать и показывать модал—ваш модал возьмет его отсюда, так как браузер не будет перезагружать страницу.

Подробнее о компании читайте здесь event.preventDefault здесь[^].


Matas - developer

Большое вам спасибо за помощь, но это все равно то же самое, не удаляя, может быть, что-то я напутал, и до сих пор не нашел проблемы...

Afzaal Ahmad Zeeshan

Если страница не загружается, то вы можете сделать две вещи:

1. Проверьте, отправляется ли запрос на добавленную вами страницу (проверьте на вкладке Сеть в инструментах разработчика браузера).
2. Если запрос выполняется, то отладьте код и посмотрите, где (и почему) он терпит неудачу.

Скорее всего, это поможет вам уменьшить площадь ошибки. Если вы видите 500 на вкладке Сеть, то это проблема с выполнением кода PHP—в противном случае проблема с логикой SQL. Это всего лишь несколько стартеров. :-)