powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Сообщение серверу об изменении репорта...
17 сообщений из 17, страница 1 из 1
Сообщение серверу об изменении репорта...
    #36220308
kasik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть репорт с чекбоксами, при обычном вызове сабмита в процессе переменные типа apex_application.g_fХХ.COUNT имеют значение(при выделенных чекбоксах соответственно), а если обращаться к этому процессу через аякс то серверто еще не знает об изменении чекбокса на клиенте поэтому возвращает 0.
как сообщить серверу об изменившемся репорте?
...
Рейтинг: 0 / 0
Сообщение серверу об изменении репорта...
    #36220870
kvad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Чем чекбоксы принципиально отличаются от остальных элементов формы? Также собираем их и отправляем с остальными параметрами POST-запроса. Говорили ж об этом уже .
serialize() (если применяете jquery) имеет смысл в применении только к дом-элементу <form>, т.е. в $("#form_id").serialize() "form_id" - это именно id формы: wwvFlowForm, если интересуют все элементы со страницы, либо конкретный блок можно оформить в <form id="form_id">...</form> и собрать элементы ввода из этого блока только.
...
Рейтинг: 0 / 0
Сообщение серверу об изменении репорта...
    #36221587
kasik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я до этого дошел после как создал темы:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
function v_el(s)
{
return document.getElementsByTagName('BODY').item( 0 ).getElementsByTagName('input')[s]
};

//Обновляем значение apex_item
var get = new htmldb_Get(null,$v('pFlowId'),'APPLICATION_PROCESS=',$v('pFlowStepId'));
get.add('f31',v_el('f31')); 
get.add('f26',v_el('f26')); 
var ret = get.get();
get = null;

но при обычном выводе региона с репортом все срабатывает, но если я это регион загоняю в div то работать прекращет, хотя v_el('f31').value выводит правильное значение. чем отличеатя регион в слое или нет?
...
Рейтинг: 0 / 0
Сообщение серверу об изменении репорта...
    #36221828
kasik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Причем не просто див (и с ним нормально работает), а див который потом используется в jquery. то есть видимо что то он все таки делает такого что эти переменные(apex_application.g_fХХ.COUNT) не попадают куда нужно, они же в се равно храняться в каких то таблицах, и видимо отсекаются когда используется диалог, хотя физически данный репорт показывается, и ява-элементы нормально заолняются но тут возникает проблемы синхронизации апкса(с контексте системных таблиц) и ява-элементов.
по пробовал перевести нумерацию элементов бло от 23 до 34, перевел на первй десяток от 02 и тд, вообще фигня вышла от 02-05 у коунта всегда значение 10 - от куда взялись не известно...

Что со всем этим можно придумать может get запускать в другом разрезе что бы заполнялись нужные элементы?
...
Рейтинг: 0 / 0
Сообщение серверу об изменении репорта...
    #36222196
kasik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может что то в классе диалога использовано то что влияет на видимость апрекс-переменных? только вот что? что вообще может на это повляють?
...
Рейтинг: 0 / 0
Сообщение серверу об изменении репорта...
    #36222217
kvad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kasik,

А почему вы, собственно, для передачи fXX используете get.add, а не get.addParam?
...
Рейтинг: 0 / 0
Сообщение серверу об изменении репорта...
    #36222337
kasik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kvad,
Зачем мне параметры, я не собираюсь их исполшьзовать вручную я просто сообщаю серверу об их изменении а дольше должен отрабатывать процесс с измененными переменными. все дело не в этом, так как данная схема работает без использования jquery.

И я выяснил в чем дело! Дело в том что jquery.dialog при инициализации выщелкивает его(данный слой) из
Код: plaintext
<form id="wwvFlowForm" name="wwv_flow" method="post" action="wwv_flow.accept"> 
по этому данный слой получается "вне апекса"...
А теперь самый уточненный вопрос как его оставить всетаки в форме без отказа от jquery?
...
Рейтинг: 0 / 0
Сообщение серверу об изменении репорта...
    #36222585
kasik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Каким это вообще аттрибутом это делается? что бы его исключить...
...
Рейтинг: 0 / 0
Сообщение серверу об изменении репорта...
    #36222596
kvad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kasikвсе дело не в этом, так как данная схема работает без использования jquery.
Не верю )
Случаем не наблюдали, что возвращает сервер, если ему отправить:
Код: plaintext
1.
2.
var get = new htmldb_Get(null,$v('pFlowId'),'APPLICATION_PROCESS=',$v('pFlowStepId'));
get.add('f31','bla-bla'); 
var ret = get.get();
?
А возвращает он: "Unexpected error, unable to find item name at application or page level."
А все потому, что get.add заточен для передачи item -ов, а fXX должны уходить просто параметрами http-запроса (&f31=aaa).
Сдается мне, что fXX на сервере устанавливаются в другом месте (мож результаты наблюдаете после обычного сабмита?)

firebug в помощь.
...
Рейтинг: 0 / 0
Сообщение серверу об изменении репорта...
    #36223004
kasik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Последние 5 мес работаю только через firebug и все это наблюдаю. именно им и отследил что эти переменные кроюлся в инпут элементах с name=fXX и попробовал на шару
Код: plaintext
get.add('f31',v_el('f31')); 
перед этим выследив данный элемент вон той(см выше) длинной функцией. и серьезно заработало если регион не трогать jquery.
и именно фаербагом вычислил что данный регион выбивается из формы поэтому данные коунты постоянно нулевые не зависимо от выбора чек бокса видимо при рендеринге страницы они не попадают в рассмотрение так как не находятся в форме
Код: plaintext
1.
<form id="wwvFlowForm" name="wwv_flow" method="post" action="wwv_flow.accept"> 

Так что поверьте мне пожалуйста...

ЗЫ: при отправке бла бла бла конечно будет ошибка а я передаю объект, а поповоду заточки под итемы не знаю, система же сама разобралась чего куда изменить. так что вопрос как этот регион обратно в форму запихать!
...
Рейтинг: 0 / 0
Сообщение серверу об изменении репорта...
    #36223011
kasik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И никакого сабмита не было... это все через аякс!
...
Рейтинг: 0 / 0
Сообщение серверу об изменении репорта...
    #36223252
kasik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, признаю, такая ошибка есть!

Вообщем коректировка сути темы:
есть репорт с чекбоксами который показывается обычным образом ничего не меняя. при вызове локального процесса через аякс отрабатывает нормально. но если использую диалог то уже через аякс все коунты равны 0.
уже рассматриваю поповоду вызова с параметрами, но если я передам ввиде параметра ява-объект как мне потом оперировать с ним через pl/sql? а если передавать все по отдельности: количество выделенных элементов и потом по отдельности занчение каждого выделенного элемента, это больно грамозко.
...
Рейтинг: 0 / 0
Сообщение серверу об изменении репорта...
    #36223285
kvad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kasikИ никакого сабмита не было... это все через аякс!
А можно поподробнее про "через аякс"? В какой момент и как успешно аяксилась форма без jquery dialog? Речь идет только про передачу f31 и f26 или где-то позже еще есть все-таки $("#wwvFlowForm").serialize() ?
Мои догадки:
Все элементы у вас успешно сериализовывались в пост-параметры с помощью serialize(), до тех пор, пока jquery dialog не стал "выбивать" div с некоторыми элементами вон из формы wwvFlowForm.
Для решения этой "проблемы" я уже дал наводку во 2-м сообщении этой темы.
...
Рейтинг: 0 / 0
Сообщение серверу об изменении репорта...
    #36223388
kvad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не парьтесь по поводу выделения (чекнутых) элементов, serialize() готовит пост-параметры также, как они формируются при стандартном сабмите формы. Следовательно, волшебная апексовская процедура wwv_flow.accept получив их, точно также распихивает в свои g_fXX, item-ы и др. сущности на стороне сервера. Все, что нужно - это заставить serialize() собрать эти параметры. Как - писал выше.
kasikно если я передам ввиде параметра ява-объект
Параметры, подготовленные для отправки (например, с помощью serialize()) - это тупо текстовая строка, состоящая из пар <имя>=<значение>, разделенных символом "&". Ни get.add, ни get.addParam не умеют преобразовывать никакие "ява-объект"-ы. get.add добавляет в общую строку параметров пару: &p_arg_names=<знач.1-го аргумента>&p_arg_values=<знач.2-го аргумента>, а get.addParam добавляет 1 параметр с именем из 1-го аргумента, значением из второго.
...
Рейтинг: 0 / 0
Сообщение серверу об изменении репорта...
    #36231542
kasik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо, что навели на решение, а не написали его. Значит мне необходимо: так как мой регион получается выщелкнут из основной формы-wwv_flow, то и получается что данные параметры упускаются из $("#wwvFlowForm").serialize(), поэтому мне надо данный регион поместить в какую нить форму и потом к параметром запроса добывить $("#my_Form").serialize()/ Но есть одно НО... я заключаю в ворму свой див, хоть внешне хоть в нутри все равно он прибивается при инициализации плагина диалога.
Я поступаю подругому:
Код: plaintext
1.
$("#DLG").prepend('<form action="wwv_flow.accept" method="post" name="wwv_flow" id="VD">');
$("#DLG").append('</form>');
но вставляется только
Код: plaintext
<form action="wwv_flow.accept" method="post" name="wwv_flow" id="VD">
то еть она не получается закрытая и поэтому игнориться.

как мне заключить в форму мой регион?
...
Рейтинг: 0 / 0
Сообщение серверу об изменении репорта...
    #36232248
kvad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Лучше форму в регион: )
Код: plaintext
1.
2.
$('#my-div-will-be-dialog-soon')
  .dialog({...})
  .wrapInner('<form id="VD" name="VD" method="post" action="wwv_flow.accept"></form>');
...
Рейтинг: 0 / 0
Сообщение серверу об изменении репорта...
    #36232421
я
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
я
Гость
только что сделал также большое спасибо за содействие
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Сообщение серверу об изменении репорта...
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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