|
Что делает Submit?
|
|||
---|---|---|---|
#18+
Собственно, вот в чем вопрос. При отработки события Submit, что происходит физически? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2011, 12:01 |
|
Что делает Submit?
|
|||
---|---|---|---|
#18+
Submit отправляет данные от клиента (из окошка браузера) на сервер для дальнейшей обработки. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2011, 14:24 |
|
Что делает Submit?
|
|||
---|---|---|---|
#18+
beginner_dbaСобственно, вот в чем вопрос. При отработки события Submit, что происходит физически? На странице выполняется весь JavaScript-код, связанный с событием beforeSubmit (при помощи Dynamic Actions и просто привязанный к этому событию). Переменные отправляются серверу методом POST. Сервер обрабатывает страницу в соответствии с последовательностью, заданной в Page Processing: процессы страницы и приложения и переходы на разных этапах, вычисления, проверки. При этом проверяются условия выполнения каждого шага. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2011, 15:10 |
|
Что делает Submit?
|
|||
---|---|---|---|
#18+
suPPLerbeginner_dbaСобственно, вот в чем вопрос. При отработки события Submit, что происходит физически? На странице выполняется весь JavaScript-код, связанный с событием beforeSubmit (при помощи Dynamic Actions и просто привязанный к этому событию). Переменные отправляются серверу методом POST. Сервер обрабатывает страницу в соответствии с последовательностью, заданной в Page Processing: процессы страницы и приложения и переходы на разных этапах, вычисления, проверки. При этом проверяются условия выполнения каждого шага. Не могли бы описать весь процесс. Что за чем идет? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2011, 11:09 |
|
Что делает Submit?
|
|||
---|---|---|---|
#18+
beginner_dbasuPPLerпропущено... На странице выполняется весь JavaScript-код, связанный с событием beforeSubmit (при помощи Dynamic Actions и просто привязанный к этому событию). Переменные отправляются серверу методом POST. Сервер обрабатывает страницу в соответствии с последовательностью, заданной в Page Processing: процессы страницы и приложения и переходы на разных этапах, вычисления, проверки. При этом проверяются условия выполнения каждого шага. Не могли бы описать весь процесс. Что за чем идет? Я именно в таком порядке и описал. Можете открыть в APEX 4 Application Builder страницу (используя режим дерева для просмотра), Page Processing будет показывать порядок обработки. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2011, 13:43 |
|
Что делает Submit?
|
|||
---|---|---|---|
#18+
suPPLerbeginner_dbaпропущено... Не могли бы описать весь процесс. Что за чем идет? Я именно в таком порядке и описал. Можете открыть в APEX 4 Application Builder страницу (используя режим дерева для просмотра), Page Processing будет показывать порядок обработки. A Page Rendering? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2011, 15:58 |
|
Что делает Submit?
|
|||
---|---|---|---|
#18+
beginner_dbasuPPLerпропущено... Я именно в таком порядке и описал. Можете открыть в APEX 4 Application Builder страницу (используя режим дерева для просмотра), Page Processing будет показывать порядок обработки. A Page Rendering? А кто сказал, что Page Rendering обязательно будет после Submit? Переход спокойно может отправить пользователя на URL, отдаваемый другим сервером. Если Вас уже не интересует, что происходит по Submit, а нужно понимание обработки и отрисовки страницы, то RTFM Oracle® Application Express Application Builder User's Guide: Understanding Page Processing and Page Rendering . ... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2011, 16:10 |
|
Что делает Submit?
|
|||
---|---|---|---|
#18+
suPPLerbeginner_dbaпропущено... A Page Rendering? А кто сказал, что Page Rendering обязательно будет после Submit? Переход спокойно может отправить пользователя на URL, отдаваемый другим сервером. Если Вас уже не интересует, что происходит по Submit, а нужно понимание обработки и отрисовки страницы, то RTFM Oracle® Application Express Application Builder User's Guide: Understanding Page Processing and Page Rendering . Спасибо ... |
|||
:
Нравится:
Не нравится:
|
|||
04.06.2011, 00:47 |
|
Что делает Submit?
|
|||
---|---|---|---|
#18+
А можно поподробнее про submit? Я сделал две кнопки на странице, сделал два процесса. В каждом из процессов указал кнопку, которой этот процесс должен запускаться. У обоих процессов стоит Process point - after submit (можно ли сделать иначе - непонятно). Т. е. я хочу, чтобы при нажатии на кнопку 1 выполнилась pl/sql процедура №1, а при нажатии на кнопку 2 - процедура №2. На какую бы кнопку я не нажимал, у меня пытаются выполниться оба процесса. Есть вариант вообще все переделать (запускать процессы с разных страниц), но он мне не нравится... ... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2011, 00:48 |
|
Что делает Submit?
|
|||
---|---|---|---|
#18+
начинающий2На какую бы кнопку я не нажимал, у меня пытаются выполниться оба процесса. При выполнении Submit указывается специальный идентификатор, :request . Соответственно по этому атрибуту распознаётся с какой кнопки произошла отправка данных, и условия на нажатие кнопки можно переписать в эквивалент условие sql expression типа :request = 'MY_BUTTON_1_REQUEST_NAME'. Необходимо проверить эти атрибуты у кнопок. Кнопки тоже могут не только submit производить но и redirect to page or url, в этом случае вместо onSubmit должно быть onLoad. Кратко: с начала обрабатывается на on Submit, потом берётся branche и потом обрабатывается всё, что на on load, в соответствующей последовательности. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2011, 08:13 |
|
Что делает Submit?
|
|||
---|---|---|---|
#18+
SvUserПри выполнении Submit указывается специальный идентификатор, :request . Соответственно по этому атрибуту распознаётся с какой кнопки произошла отправка данных, и условия на нажатие кнопки можно переписать в эквивалент условие sql expression типа :request = 'MY_BUTTON_1_REQUEST_NAME'.Это сработало, спасибо! Только вопрос возник: в свойствах процесса в разделе Condition можно указать Condition Type - "PL/SQL Expression" и написать выражение :request = 'MY_BUTTON_1_REQUEST_NAME' (тогда все работает), а можно выбрать Condition Type - "Request = Expression 1" и в качестве Expression 1 указать 'MY_BUTTON_1_REQUEST_NAME' - я так понимаю, это как раз для таких случаев, да? (только у меня не заработало). SvUserКнопки тоже могут не только submit производить но и redirect to page or url, в этом случае вместо onSubmit должно быть onLoad. Кратко: с начала обрабатывается на on Submit, потом берётся branche и потом обрабатывается всё, что на on load, в соответствующей последовательности.Редиректы я тоже пробовал (и тоже безуспешно), только я не понял про OnLoad: если я в branch делаю переход со страницы 1 на страницу 2, нужную pl/sql процедуру мне вызывать из какого OnLoad - страницы 1 или страницы 2? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2011, 08:37 |
|
Что делает Submit?
|
|||
---|---|---|---|
#18+
начинающий2а можно выбрать Condition Type - "Request = Expression 1" и в качестве Expression 1 указать 'MY_BUTTON_1_REQUEST_NAME' - я так понимаю, это как раз для таких случаев, да? (только у меня не заработало). только без кавычек в этом случае, и наименование MY_BUTTON_1_REQUEST_NAME только для примера, берётся из атрибутов кнопки. OnLoad срабатывает на странице, которая загружается. OnSubmit срабатывает на странице, в которой происходит Submit ... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2011, 10:07 |
|
Что делает Submit?
|
|||
---|---|---|---|
#18+
SvUser, не стоит забывать, что кнопки бывают как минимум двух типов: собственно Buttons и Region Buttons. начинающий2На какую бы кнопку я не нажимал, у меня пытаются выполниться оба процесса. Какая версия APEX? Какие кнопки у Вас: просто Buttons или Region Buttons? У простых кнопок может быть одинаковый Request. У кнопок региона могут быть одинаковые имена, которые используются как Request при сабмите. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2011, 10:49 |
|
Что делает Submit?
|
|||
---|---|---|---|
#18+
suPPLerSvUser, не стоит забывать, что кнопки бывают как минимум двух типов: собственно Buttons и Region Buttons. Всё сказанное верно для обоих типов кнопок. В Region Buttons свойства Submit могут указываться, например, в типе redirect URL: javascript:apex.confirm(htmldb_delete_message,'MULTI_ROW_DELETE'); (второй параметр), javascript:apex.submit('SAVE'); (или doSubmit вместо apex.submit) и это тоже нужно проверять. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2011, 11:00 |
|
Что делает Submit?
|
|||
---|---|---|---|
#18+
SvUserВсё сказанное верно для обоих типов кнопок. В Region Buttons свойства Submit могут указываться, например, в типе redirect URL: javascript:apex.confirm(htmldb_delete_message,'MULTI_ROW_DELETE'); (второй параметр), javascript:apex.submit('SAVE'); (или doSubmit вместо apex.submit) Могут, но выделенное - это от "перемудрить". :) Если декларативно можно указать действие по нажатию как Submit, то стоит это делать декларативно. Обратное увеличивает вероятность ошибки. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2011, 11:12 |
|
Что делает Submit?
|
|||
---|---|---|---|
#18+
suPPLerМогут, но выделенное - это от "перемудрить". :) Если декларативно можно указать действие по нажатию как Submit, то стоит это делать декларативно. Обратное увеличивает вероятность ошибки. Это только в новых версиях апекса, а в старых через redirect url javascript: doSubmit точно помню где-то конструкторами указывалось, помойму как раз на SAVE кнопки. еще вместо apex.confirm может стоять confirmDelete. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2011, 11:22 |
|
Что делает Submit?
|
|||
---|---|---|---|
#18+
SvUsersuPPLerМогут, но выделенное - это от "перемудрить". :) Если декларативно можно указать действие по нажатию как Submit, то стоит это делать декларативно. Обратное увеличивает вероятность ошибки. Это только в новых версиях апекса, а в старых через redirect url javascript: doSubmit точно помню где-то конструкторами указывалось, помойму как раз на SAVE кнопки. Была и остаётся проблема с копированием таких кнопок из-за того, что параметры в вызовах функций, указанных в URL Target, не переписываются. Хорошо, что сабмит можно делать явно. PS: В ожидании ответа ТС, какая у него версия APEX, я предпочитаю беседовать о последнем релизе. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2011, 11:32 |
|
Что делает Submit?
|
|||
---|---|---|---|
#18+
suPPLerКакая версия APEX? Какие кнопки у Вас: просто Buttons или Region Buttons?Версия APEX - 4.0, кнопки - просто Buttons (если не путаю). Один способ решения проблемы я уже нашел, мне пока достаточно. А в джаваскриптовую часть апекса я пока не лезу, мне бы пока самые азы освоить. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2011, 14:52 |
|
Что делает Submit?
|
|||
---|---|---|---|
#18+
начинающий2suPPLerКакая версия APEX? Какие кнопки у Вас: просто Buttons или Region Buttons?Версия APEX - 4.0 Точнее, пожалуйста. Я создал в 4.0.2.00.07 страницу, на ней четыре кнопки и четыре процесса. Две кнопки обычные, две - кнопки региона. Каждый процесс срабатывает на какую-то одну кнопку, выбранную в Conditions->When Button Pressed. Всё работает. У обычных кнопок разный Request, у кнопок региона - разные названия. Теперь попробуйте сделать такую же тестовую страницу и опишите по шагам, что Вы делаете, и что получается. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2011, 18:15 |
|
Что делает Submit?
|
|||
---|---|---|---|
#18+
suPPLerначинающий2пропущено... Версия APEX - 4.0 Точнее, пожалуйста. Я создал в 4.0.2.00.07 страницу, на ней четыре кнопки и четыре процесса. Две кнопки обычные, две - кнопки региона. Каждый процесс срабатывает на какую-то одну кнопку, выбранную в Conditions->When Button Pressed. Всё работает. У обычных кнопок разный Request, у кнопок региона - разные названия. Теперь попробуйте сделать такую же тестовую страницу и опишите по шагам, что Вы делаете, и что получается. Если Condition Type - "Request = Expression 1" сейчас работает, то и прямые условия на кнопки будут работать, т.е. глюк уже исправлен на самом деле, где-то в процессе переделывания с одного варианта на другой. (или до сих пор что-нибудь не работает) т.е. либо там были дублирующиеся реквесты, либо пустые строки, в параметрах :request и это уже исправлено, раз прямые условия на :request срабатывают правильно. Либо просто с кнопками были перепутаны названия. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2011, 18:32 |
|
Что делает Submit?
|
|||
---|---|---|---|
#18+
SvUserт.е. либо там были дублирующиеся реквесты, либо пустые строки, в параметрах :request и это уже исправлено, раз прямые условия на :request срабатывают правильно. Либо просто с кнопками были перепутаны названия. Вот пусть автор и установит конкретную причину. Это полезный опыт. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2011, 18:41 |
|
Что делает Submit?
|
|||
---|---|---|---|
#18+
SvUserт.е. либо там были дублирующиеся реквесты, либо пустые строки, в параметрах :request и это уже исправлено, раз прямые условия на :request срабатывают правильно. Либо просто с кнопками были перепутаны названия.Это были дублирующиеся реквесты. Я тут ( 10793383 ) уже написал, что у меня все работает. Я не уточнил причину проблем, потому что думал, что все и так догадаются... ... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2011, 20:32 |
|
|
start [/forum/topic.php?fid=50&msg=37293790&tid=1876495]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
170ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
others: | 299ms |
total: | 570ms |
0 / 0 |