Показать сообщение отдельно
  #10 (permalink)  
Старый 18.01.2018, 12:09
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Вторая форма не есть гарантия от случайного удаления, чтобы не было случайностей нужно спрашивать пользователя уверен ли он в своих действиях - cofirm-диалог.

У вас главная неразбериха в коде самой второй формы - не может быть в форме на клиенте, которая формируется по нажатию кнопки, РНР вставок.

Вы не описываете суть задачи. Предположим, что удаление, это все-таки удаление данных на сервере, которые были сохранены как данные SOAP сервера. Каждая такая запись сохранена под идентификатором - поле ID в таблице. Эти данные пользователю отдаются просто таблицей, а не формой, в которой есть кнопки "Удалить". Значениями этих кнопок являются эти идентификаторы, то есть:

<button value="'.$record->id.'">Удалить</button>


id='butt_cler' у кнопок удалено, так как id должно быть уникальным значением, да и в данном случае оно не требуется. РНР по разному интерпретирует строковые значения вставленные в одинарные и двойные кавычки. Если двойные, то он будет производить разбор строки в поисках вставленных в нее переменных. В вашем случае, это нагрузить его бесполезной работой, а поэтому выгоднее echo 'строка с атрибутами в двойных кавычках'.

Запрос на удаление:

$(function() {
    var btn = $('button').click(function() {
        if(confirm('Вы уверены, что хотите удалить ID '+this.value+'?')) {
            var bt = this;
            btn.prop('disabled', 1); //заблокировать запросы от кнопок на время запроса сервера
            $.ajax({
                //параметры запроса
                data: 'del='+this.value,
                success: function(data) {
                    btn.prop('disabled', 0); //разрешаем запросы от кнопок
                    //если сервер вернул ОК (это образно, а должен быть оговоренный параметр)
                    //то удаляем строку в таблице принадлежащей этой кнопке
                    $(bt).closest('tr').remove();
                    //иначе ошибка удаления
                }
            })
        }
    })
});


А вот что вы делаете не понять, по крайней мере логика странная.

Последний раз редактировалось laimas, 19.01.2018 в 09:10.
Ответить с цитированием