Гость
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Как сделать асинхронный сабмит формы. / 8 сообщений из 8, страница 1 из 1
03.03.2010, 14:08
    #36499820
Casufi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать асинхронный сабмит формы.
Пробую использовать htmldb_Get() для того, чтобы сделать ajax post формы.
Есть несколько вопросов:
Во первых, могут быть вызваны процессы только из блока "Page Rendering" или из блока "Page Processing" ?

Во вторых, мы вызываем процесс и передаем ему набор параметров заданный через .ajax.add() а мне нужно скопом отослать форму при помощи ajax запроса и вызвать процесс, который вернет json массив.
Намекните пожалуйста как это лучше делать ?
Вот что я попробовал сделать сейчас,
Вот это блок из хедера
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript"></script>
<script src="http://github.com/malsup/form/raw/master/jquery.form.js" type="text/javascript"></script>
<script language="JavaScript" type="text/javascript">
$(document).ready(function() {
  $('#wwvFlowForm').ajaxForm(function() {
    alert("Спасибо за комментарий!");
  });
});

function f_TestOnDemand(){
  $('#wwvFlowForm').submit();
}
</script>

А форму отправляю на сервер функцией
javascript:f_TestOnDemand();

Но в этом случае я не могу выбрать Процесс который должен отработать и в ответ мне приходит полностью отрендереная страница вместо json массива
...
Рейтинг: 0 / 0
03.03.2010, 14:27
    #36499892
suPPLer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать асинхронный сабмит формы.
Casufi,

0. htmldb_Get вызывает только процессы уровня приложения (Application Processes), ЕМНИП.
1. Как насчёт jApex ? :)
...
Рейтинг: 0 / 0
03.03.2010, 16:35
    #36500333
Casufi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать асинхронный сабмит формы.
Чет у меня jApex не получилось завести

The requested URL /ikis/htmldb/wwv_flow.show was not found on this server.
...
Рейтинг: 0 / 0
04.03.2010, 02:35
    #36501271
suPPLer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать асинхронный сабмит формы.
Casufi,

Oracle 11.2, APEX 3.2.1 on XDB+EPG - полёт нормальный, завелось без ухищрений. :) Что у Вас?
...
Рейтинг: 0 / 0
05.03.2010, 12:31
    #36504724
kvad
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать асинхронный сабмит формы.
Наверно, сначала следует задать значение Request-а, чтобы можно было определять нужный процесс/бранч ч-з condition Request=...
Значение Request-а передается ч-з POST-параметр p_request, которому соответствует hidden-элемент: id="pRequest", name="p_request"

$s('pRequest','DOIT');
либо:
$('#pRequest').val('DOIT');

Для рендера json массива можно использовать тип branch-а "Branch to PL/SQL Procedure".
Там: htp.prn('{"a":"b"}'); и т.п.

Чтобы использовать htmldb_Get для сабмита (т.е. для Page Processing) нужно в 6-м параметре (proc) указать 'wwv_flow.accept'.

При беглом ознакомлении с jApex я заметил, что там используется аякс-вызов процедуры wwv_flow.show ($.ajax({url: "wwv_flow.show", ...});), а это вызывает либо Page Rendering, либо APPLICATION_PROCESS.
Для Page Processing нужна процедура wwv_flow.accept.
...
Рейтинг: 0 / 0
18.03.2010, 09:34
    #36527510
Casufi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать асинхронный сабмит формы.
Спасибо
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
21.11.2012, 11:06
    #38046539
Gabit
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать асинхронный сабмит формы.
Доброе время суток !

У меня пример похож на первый:
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
<HTML>
<HEAD>
<TITLE>hello world</TITLE>
<script type="text/javascript" src="/wrbhq/js/jquery/jquery-1.2.6.js"></script>
<script type="text/javascript" src="/wrbhq/js/jquery/jquery.form.js"></script>
<SCRIPT LANGUAGE='JavaScript'>
            $(document).ready(function(){
                 $("#goView").ajaxForm(function() {
                    alert("Спасибо за комментарий!");
                  });            
            });
</SCRIPT>
</HEAD>
<BODY>
hello world
<FORM ACTION="p_save.main" METHOD="POST" id="goView" target="_self">
<INPUT TYPE="hidden" NAME="p_pcr_export" VALUE="" id="p_pcr_export">
<INPUT TYPE="text" NAME="p_pcr_export" ID="p_pcr_export" SIZE="62" MAXLENGTH="240">
</FORM>
<INPUT TYPE=BUTTON id="b_save" VALUE="Сохранить"></TD>
</FORM>
</BODY>
</HTML>



Но при вызове страницы выдает ошибку:

Сообщение: Объект не поддерживает это свойство или метод
Строка: 8
Символ: 18
Код: 0

Получается не понимает
Код: javascript
1.
ajaxForm


Подскажите пожалуйста в чем проблема ?
...
Рейтинг: 0 / 0
21.11.2012, 11:28
    #38046587
SvDev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать асинхронный сабмит формы.
Gabit,

автор
Код: html
1.
<FORM ACTION="p_save.main" METHOD="POST" id="goView" target="_self">


И причем здесь апекс вообще?

P.S. The Form Plugin is compatible with jQuery v1.3.2 and later.
+ обратитесь в правильный раздел за помощью
...
Рейтинг: 0 / 0
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Как сделать асинхронный сабмит формы. / 8 сообщений из 8, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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