powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Сохранение в базу без submit страницы
4 сообщений из 4, страница 1 из 1
Сохранение в базу без submit страницы
    #39283274
Danny1111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день. Столкнулся со следующей проблемой. Есть отчет с редактируемыми полями. Ввожу данные. По нажатию на кнопку выполняется submit страницы, который запускает процесс со следующим кодом:
Код: plsql
1.
2.
3.
4.
5.
for i in 1..apex_application.g_f02.count loop
   update dept
   set    dname = apex_application.g_f03(i)
   where  deptno = apex_application.g_f02(i);
end loop;


Работает все корректно. Но проблема в том, что мне необходимо писать эти данные в таблицу БД без submit страницы. Т.е., например, при редактировании моего отчета у меня автоматически считываются данные и выполняется update в таблицу БД.
Смотрел в сторону javasqript, но в связи со скудными знаниями, результата не получил.
Подскажите, пожалуйста, как следует решать данную задачу.
...
Рейтинг: 0 / 0
Сохранение в базу без submit страницы
    #39283629
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Danny1111,
Учите js если без сабмита.
Чем сабмит помешал?
...
Рейтинг: 0 / 0
Сохранение в базу без submit страницы
    #39283660
blkangel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Danny1111Добрый день. Столкнулся со следующей проблемой. Есть отчет с редактируемыми полями. Ввожу данные. По нажатию на кнопку выполняется submit страницы, который запускает процесс со следующим кодом:
Код: plsql
1.
2.
3.
4.
5.
for i in 1..apex_application.g_f02.count loop
   update dept
   set    dname = apex_application.g_f03(i)
   where  deptno = apex_application.g_f02(i);
end loop;


Работает все корректно. Но проблема в том, что мне необходимо писать эти данные в таблицу БД без submit страницы. Т.е., например, при редактировании моего отчета у меня автоматически считываются данные и выполняется update в таблицу БД.
Смотрел в сторону javasqript, но в связи со скудными знаниями, результата не получил.
Подскажите, пожалуйста, как следует решать данную задачу.
Вариантов много, но такая реализация требует не только знаний JS, но и внутреннюю организацию отчетов Апекса, разметки страницы и т.д. Если это еще и Табулярная форма, то вам еще придется обрабатывать новые строчки, что еще резко усложняют задачу.

Если же у Вам надо ТОЛЬКО редактировать всего один столбец, можно попробовать обойтись минимальными действиями.
Например, опишу порядок действий.
1. На столбец, который вы хотите при изменении проапдейтить, повесить обработчик событий, onChange=updateRow(#ID#, #MY_COLUMN_UPDATE#), где #ID# - это название столбца с ID строки, название колонки для изменеия #MY_COLUMN_UPDATE#.
2. Функция JS которая будет отправлять данные на сервер, будет примерно такая.
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
function updateRow(myId, myValue) {
         var setAjax = new htmldb_Get(null, &APP_ID.,'APPLICATION_PROCESS=MY_APP_PROCESS', 0);
         setAjax.addParam('X01', myId);
         setAjax.addParam('X02', myValue);

	setAjax.GetAsync(function(pResponse){
            if(pResponse.readyState==4 && pResponse.status==200){
              console.log(pResponse.responseText);
            } else {
              alert ("Ошибка выполнения Ajax")
            }

        })
   };
}         


3. И теперь APPLICATON PROCESS, с названием MY_APP_PROCESS
Код: plsql
1.
2.
3.
4.
5.
6.
7.
Begin
   update dept
   set    dname = apex_application.g_x02
   where  deptno = apex_application.g_x01;
  sys.htp.p("Success");
  exception when OTHERS then sys.htp.p(sqlerrm);
End;



Наверное можно попробовать использовать DA, но я пока не придумал как в DA передать второй параметр... Может кто подскажет тут.
...
Рейтинг: 0 / 0
Сохранение в базу без submit страницы
    #39283663
blkangel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
blkangel,
Корректировка пункта 1.

Код: javascript
1.
onChange=updateRow(#ID#, this.value)
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Сохранение в базу без submit страницы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]