Перейти к содержимому


Отмена удаления и перезагрузка страницы


Сообщений в теме: 5

#1 arsenal

    Активный участник

  • Пользователи
  • PipPipPip
  • 448 сообщений

Отправлено 14 Август 2014 - 12:14

Есть вычисление на удаление в подтаблице. В нем при определенных условиях отменяется удаление и должна перезагрузиться страница.
if ($line['Запрет удаления']==1)
   {
    global $cancel_delete;
    $cancel_delete=1;
    $line['Script удаление накладной'] = "<script>$('#subtable_9_line_".$ID."').css('background-color', 'red')</script>";
    $line['Статус накладной'] = "Аннулирована";
   }
else
   {
    //удаляем накладную
    $sqlQuery = "DELETE FROM ".DATA_TABLE."88 WHERE id=$ID";
    mysql_query($sqlQuery) or user_error(mysql_error()."<br>".$sqlQuery."<br>", E_USER_ERROR);
   }
  
//удаляем связанные записи из таб. "Документы по накладной"
$sqlQuery = "DELETE FROM ".DATA_TABLE."94 WHERE f1005=$ID"; //f1005 - № накладной
mysql_query($sqlQuery) or user_error(mysql_error()."<br>".$sqlQuery."<br>", E_USER_ERROR);
//Обнуляем поле "Накладная" в т. "Процентовки"
$data_proc['f1494'] = ""; //Накладная
data_update(101, EVENTS_ENABLE, $data_proc, "`status`=0 AND `f1494`=",$ID);
   
//обновляем страницу   
$line['№ договора']['Код'] .= "<script>location.href='".$config['site_root']."/view_line2.php?table=84&line=".$line['№ договора']['raw']."'</script>";
calc_alerts("Вы изменили данные, дождитесь обновления страницы");

При срабатывании запрета на удаление, страница почему-то не хочет перезагружаться, и данные через $line не обновляются в режиме он-лайн. После ручной перезагрузки, видно что данные все-таки обновились.
Если убрать global $cancel_delete; $cancel_delete=1; то все работает как надо.
Почему так?

#2 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 14 Август 2014 - 12:29

С чего вдруг она должна перезагружаться? То что вы засовываете js в поля - еще не значит что она от этого перезагрузится.

#3 arsenal

    Активный участник

  • Пользователи
  • PipPipPip
  • 448 сообщений

Отправлено 14 Август 2014 - 12:39

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

#4 arsenal

    Активный участник

  • Пользователи
  • PipPipPip
  • 448 сообщений

Отправлено 14 Август 2014 - 12:45

В любом случае данные через $line должны обновляться в режиме он-лайн, однако этого не происходит.

#5 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 14 Август 2014 - 12:53

Я не вижу причин, по которым она должна перезагружаться. В любом случае нигде в документации не описаны подобные "хаки", так что я лично помочь вряд ли чем смогу.

#6 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 14 Август 2014 - 12:56

Хотя подозреваю, что у вас банально возникает где-то ошибка JS, поэтому и обновление полей "онлайн" не работает, т.к. оно тоже через JS происходит.





Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных