powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / On demand process
25 сообщений из 57, страница 1 из 3
On demand process
    #36131906
Dima OnlyLuck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вопрос такой : как вызвать процесс кнопкой , причем кнопка обычная , без сабмита. Например у меня имеется процесс под названием "My_process" и есть кнопа "My_button" надо сделать так , чтобы я нажал на "My_button" и процесс "My_process" был задействован без сабмита страницы (а то все данные в формочке обнулятся, да и всякой валидации понавылезает!).

P.S я так понимаю , без Javascript не обойтись , но я в них не сильно покачто разбираюсь , подскажите пожалуйста!
Заранее спасибо.
...
Рейтинг: 0 / 0
On demand process
    #36132042
kvad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
var get = new 
var onclickMyButton = function() {
  htmldb_Get(null,$v('pFlowId'),'APPLICATION_PROCESS=MY_PROCESS',$v('pFlowStepId'));
  get.add('APP_ITEM1', 'value of APP_ITEM1');  // параметры вызова (установка значений application item-ов)
  ...
  get.add('APP_ITEMn', 'value of APP_ITEMn');
  var ret = get.get();
  get = null;
  // в ret - ответ, если надо
}

На My_button повесить url target "javascript:onclickMyButton();"

Ключевое слово для поиска доп. инфо - htmldb_Get
...
Рейтинг: 0 / 0
On demand process
    #36132054
kvad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Упс, вместо
Код: plaintext
1.
2.
3.
var get = new 
var onclickMyButton = function() {
  htmldb_Get(null,$v('pFlowId'),'APPLICATION_PROCESS=MY_PROCESS',$v('pFlowStepId'));
д.б. это:
Код: plaintext
1.
2.
var onclickMyButton = function() {
  var get = new tmldb_Get(null,$v('pFlowId'),'APPLICATION_PROCESS=MY_PROCESS',$v('pFlowStepId'));
...
Рейтинг: 0 / 0
On demand process
    #36132197
Dima OnlyLuck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за ответ , сейчас буду разбираться.
...
Рейтинг: 0 / 0
On demand process
    #36132226
Dima OnlyLuck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
var get = new
var onclickMyButton = function() {
htmldb_Get(null,$v('pFlowId'),'APPLICATION_PROCESS=MY_PROCESS',$v('pFlowStepId'));
get.add('APP_ITEM1', 'value of APP_ITEM1'); // параметры вызова (установка значений application item-ов)
...
get.add('APP_ITEMn', 'value of APP_ITEMn');
var ret = get.get();
get = null;
// в ret - ответ, если надо
}


Эм.. а это в HTML header надо писать?
...
Рейтинг: 0 / 0
On demand process
    #36132384
kvad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ну не это... я ж исправился:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
var onclickMyButton = function() {
  var get = new htmldb_Get(null,$v('pFlowId'),'APPLICATION_PROCESS=MY_PROCESS',$v('pFlowStepId'));
  get.add('APP_ITEM1', 'value of APP_ITEM1'); // параметры вызова (установка значений application item-ов)
  ...
  get.add('APP_ITEMn', 'value of APP_ITEMn');
  var ret = get.get();
  get = null;
  // в ret - ответ, если надо
}

да, в хидер, предварив этим:

Код: plaintext
1.
2.
<script language="JavaScript" type="text/javascript">
<!--

и завершив:

Код: plaintext
1.
//-->
</script>

дальше в этих рамках (тэга <script>), если надо, добавляешь еще js-код, необходимый на странице.
...
Рейтинг: 0 / 0
On demand process
    #36132857
Фотография suPPLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima OnlyLuck,

на всякий случай: RTFM How to Incorporate JavaScript into an Application
...
Рейтинг: 0 / 0
On demand process
    #36134308
Dima OnlyLuck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Блин..У меня ничего не получилось кнока не реагирует.. но я нашел более грамотный метод.. при сабмите страницы выскакивает еще одна страница и уже в ней всё то , что мне нужно , таким образом у меня и данные предыдущей страницы сохраняются , и данные , которые вводятся во 2 странице.
Всем спасибо =)
...
Рейтинг: 0 / 0
On demand process
    #36134348
kasik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kvad
На My_button повесить url target "javascript:onclickMyButton();"

Ключевое слово для поиска доп. инфо - htmldb_Get

Все нормально работает смотри внимательней...
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
On demand process
    #36785595
Lav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все здорово, но вот не понятно:
в on_demand_process-е у меня
Код: plaintext
select  1  into :my_item from dual;
Но на форме значение поля не меняется, чую что нужно что-то на JS передернуть, но никак не могу понять что.
...
Рейтинг: 0 / 0
On demand process
    #36785841
non-apexoid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lav, для того, чтобы из On-demand процесса вернуть значение только одного поля, предназначен первый аргумент htmldb_Get. Если возвращаемых значений несколько (например, значения листа) - можно поставить тип возвращаемого значения 'XML' и затем разобрать его средствами javascript.
...
Рейтинг: 0 / 0
On demand process
    #36786065
Lav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
non-apexoid,

Уффф... я уж накопал, делаю:

-в процессе
Код: plaintext
1.
2.
3.
4.
5.
htp.prn(:P5_ID);
htp.prn('|');
htp.prn(:P5_CODE);
htp.prn('|');
htp.prn(:P5_NAME);

а в java-script делаю
Код: plaintext
1.
2.
3.
4.
var a = gReturn.split('|');
$s('P5_ID',a[ 0 ]);
$s('P5_CODE',a[ 1 ]);
$s('P5_NAME',a[ 2 ]);

Правда если в java-script делать

Код: plaintext
$s('P5_CODE','');
то почему-то в Item на странице пишет undefined , никто не знает почему?
...
Рейтинг: 0 / 0
On demand process
    #36786073
Lav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lav
Правда если в java-script делать

Код: plaintext
$s('P5_CODE','');
то почему-то в Item на странице пишет undefined , никто не знает почему?

Все разобрался, все нормально, просто if неправильно отрабатывал.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
On demand process
    #37748015
iroquai
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите пожалуйста, где именно в апексе нужно вписывать вышеприведенную javascript функцию?
...
Рейтинг: 0 / 0
On demand process
    #37751150
VovkaAPEXOID
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iroquai, все зависит от версии приложения. Если ниже 4 - HOME>Application Builder>Application ID>Page ID>Edit Page>HTML Header,
если >=4 - HOME>Application Builder>Application ID>Page ID>Edit Page>JavaScript
...
Рейтинг: 0 / 0
On demand process
    #37753244
C-M-A
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я в <HTML Header and Body Attribute> кладу

Как-то вот так

Код: javascript
1.
2.
3.
4.
5.
6.
7.
<script type="text/javascript">
<!-- Begin
  function f_FNAME(){
 // тело функции
  }
//  End -->
</script>



а вызов через URL

javascript: f_FNAME();

например по кнопке
<Action When Button Clicked>
<Action>
Redirect to url
в <URL Target >
javascript: f_FNAME();
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
On demand process
    #38296036
Gustly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это пример как запустить процесс на уроне приложения application process. А как запустить page process, который будет запускаться по on demand ?

Задача: Необходимо выполнить инсерт по циклу FOR I IN 1..APEX_APPLICATION.G_F01.COUNT LOOP. Application process почему-то там показывает 0 записей, хотя page process запущенный через субмит нормально отрабатывает.
...
Рейтинг: 0 / 0
On demand process
    #38296104
Фотография suPPLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GustlyApplication process почему-то там показывает 0 записей, хотя page process запущенный через субмит нормально отрабатывает.

Изменения, сделанные пользователем на странице, нужно как-то отправить серверу, чтобы они были видны в процессе. Сабмит формы на странице как раз этим и занимается. Можно собрать данные всех интересующих полей и сделать сабмит вручную. Для примера можете посмотреть на jApex. В принципе, можете его и использовать.
...
Рейтинг: 0 / 0
On demand process
    #38296135
Gustly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
suPPLerGustlyApplication process почему-то там показывает 0 записей, хотя page process запущенный через субмит нормально отрабатывает.

Изменения, сделанные пользователем на странице, нужно как-то отправить серверу, чтобы они были видны в процессе. Сабмит формы на странице как раз этим и занимается. Можно собрать данные всех интересующих полей и сделать сабмит вручную. Для примера можете посмотреть на jApex. В принципе, можете его и использовать.
Что за jApex? Субмит делает обновление страницы, а мне этого не хотелось бы. У меня обычные галочки при нажатие нормально отрабатывают, в консоли видно только одну строку POST. А вот мастергалочка, которая как бы имитирует нажатие на все требует этого самого списка APEX_APPLICATION.G_F01, чтобы за один раз база отработала, а не делала много раз посылку данных, если бы каждая галочка отдельно нажималась.
...
Рейтинг: 0 / 0
On demand process
    #38296263
Gustly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Или как тогда вручную его заполнить?
Пробовал через
var get = new htmldb_Get(null,null, 'APPLICATION_PROCESS=ALL_CHECK',0)
var elems = document.getElementsByName("f01")
get.add('ARR', elems)

Массивы вообще нельзя туда передавать, только строки. Вопрос, как вручную без субмита заполнить этот самый G_F01.
...
Рейтинг: 0 / 0
On demand process
    #38296432
Фотография suPPLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GustlyЧто за jApex?

STFW jApex .

GustlyСубмит делает обновление страницы, а мне этого не хотелось бы.
Сабмит -- это просто отправление данных из полей формы на сервер. Его можно выполнить самостоятельно, делая соответствующие запросы POST или GET к серверу через AJAX.

GustlyА вот мастергалочка, которая как бы имитирует нажатие на все требует этого самого списка APEX_APPLICATION.G_F01, чтобы за один раз база отработала, а не делала много раз посылку данных, если бы каждая галочка отдельно нажималась.
Пусть так и будет: "мастер-галочка" при нажатии вызывает JS-код, который создаёт массив переменных с именем "fNN" (NN -- номер столбца в отчёте и коллекции G_FNN) и выполняет запрос GET либо POST с этим массивом.
...
Рейтинг: 0 / 0
On demand process
    #38296484
Gustly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как связать JS и оракловые объекты? А именно через JS заполнить коллекцию G_F01. Я только знаю как процедуры вызывать, но туда не передать массив.

P.S. Необходимо за 1 пост проделать операцию, как в случае с одним чекбоксом.
...
Рейтинг: 0 / 0
On demand process
    #38296487
Gustly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И как работать с page process, которые вызываются через on demand? Ибо метод для application process говорит что не найдено такое.
...
Рейтинг: 0 / 0
On demand process
    #38296620
kasik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gustly....
Пробовал через
var get = new htmldb_Get(null,null, 'APPLICATION_PROCESS=ALL_CHECK',0)
....

Читайте внимательно документацию, необходимо запонять значимые параметры!
...
Рейтинг: 0 / 0
On demand process
    #38296762
Gustly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kasikGustly....
Пробовал через
var get = new htmldb_Get(null,null, 'APPLICATION_PROCESS=ALL_CHECK',0)
....

Читайте внимательно документацию, необходимо запонять значимые параметры!
В документации апекса я вообще ее не нашел, только сторонние сайты.
4-й это
page – Not important as an on demand process isn’t tied to any particular page, however, if it is an authenticated page id, the user must be authenticated, else it has to be a public page.
Зачем его делать нулем?
...
Рейтинг: 0 / 0
25 сообщений из 57, страница 1 из 3
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / On demand process
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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