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


Доп. действие во всплывающем окне


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

#1 arsenal

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

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

Отправлено 11 Март 2012 - 17:33

Подскажите, пожалуйста.
Необходимо в доп. действии выбрать вручную определенное значение записи из другой таблицы. Для этого в доп действии делаю "во всплывающем окне" и пишу следующий код (за основу взял код из документации)
if (isset($_REQUEST['num_nakl']))
   {
	 $line['Накладная']=$_REQUEST['num_nakl'];
	 echo "<script>";
	 echo "window.opener.location.reload(1);"; // Перезагружаем родительское окно
	 echo "window.close()"; // Закрываем текущее
	 echo "</script>";
   }
  
//Выбираем все накладные по данному договору
$sqlQuery = "SELECT * FROM ".DATA_TABLE."88 WHERE f962='".$line['№ договора']['ID']."'";
$result = mysql_query($sqlQuery) or user_error(mysql_error()."<br>".$sqlQuery."<br>", E_USER_ERROR);
  
echo "<form method='get'>";
echo "Выбирите накладную:";
echo "<input type='hidden' name='id' value='$button_id'>"; // Передаем значение кнопки
echo "<input type='hidden' name='line_id' value=$ID>";  // Значение строки
echo "<SELECT name='num_nakl'>";
while ($row = mysql_fetch_array($result))
    echo "<OPTION VALUE='".$row['f960']."'>".$row['f960']." от ".$row['f961']."</OPTION>";
echo "</SELECT>";
echo "<input type='submit' value='ОК'>";
echo "</form>";
но список выводится пустым. В чем может быть ошибка?

#2 arsenal

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

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

Отправлено 11 Март 2012 - 17:55

Спасибо, разобрался

#3 arsenal

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

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

Отправлено 11 Март 2012 - 18:05

Если я ставлю для доп.действия "во всплывающем окне", то оно в режиме "таблица" не отображается.
Как мне все таки сделать? Нужно выбрать несколько строк в таблице, нажать доп. действие, появляется окошко, в котором в раскрывающемся списке (список формируется из записей другой таблицы, отобранных по определенному признаку) я выбираю нужное значение и далее выполняется определенный код.
Очень устраивает вышеприведенный код, но он получается может работать только с одной записью из режима просмотра.

#4 CbCoder

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

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

Отправлено 11 Март 2012 - 18:28

Для нескольких строк всплывающее окно сделать невозможно, иначе оно будет всплывать при обработке каждой записи.

#5 arsenal

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

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

Отправлено 12 Март 2012 - 12:08

Просмотр сообщенияРазработчик (11 Март 2012 - 18:28) писал:

Для нескольких строк всплывающее окно сделать невозможно, иначе оно будет всплывать при обработке каждой записи.
Можно в коде доп. действия проверять, если это первая запись - то вывести окно (в котором мы выбираем значение и сохраняем его в глобальную переменную), а для последующих записей использовать уже эту глобальную переменную.

#6 arsenal

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

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

Отправлено 06 Октябрь 2012 - 11:32

Написал доп. действие со всплывающим окном. В окне выводится достаточно много полей для ввода информации. При нажатии ОК в окне, т.е. при передачи этой информации в программу для обработки выводится сообщение
Request-URI Too Large
The requested URL's length exceeds the capacity limit for this server.
request failed: URI too long
Как обойти это ограничение?

Сообщение отредактировал arsenal: 06 Октябрь 2012 - 11:33


#7 CbCoder

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

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

Отправлено 06 Октябрь 2012 - 11:38

Передавайте форму методом POST.

<form method='post'>


#8 arsenal

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

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

Отправлено 06 Октябрь 2012 - 12:31

Спасибо.





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

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