Как отключить кнопку отправки для этого сеанса, когда пользователь отправляет форму в oracle apex? - PullRequest
0 голосов
/ 11 октября 2019

Я создаю приложение на Oracle Apex версии 18, которое принимает опрос пользователей. Я использовал форму на столе для этой цели. Тем не менее, пользователи могут отправлять форму несколько раз. Есть ли способ заморозить кнопку отправки после отправки формы?

Ответы [ 3 ]

0 голосов
/ 14 октября 2019

В первом случае я бы попытался установить атрибут страницы Разрешить повторное представление страницы в №

enter image description here

0 голосов
/ 21 октября 2019

Похоже, вы не хотите, чтобы пользователи могли отвечать на один и тот же опрос несколько раз.

Чтобы достичь этого, вы можете использовать условие на стороне сервера, как предложил Littlefoot, но, похоже, у вас естьпроблемы с правильной настройкой состояния на стороне сервера.

Если вы используете скрытый элемент на своей странице, который содержит значение текущего опроса, на который пользователь должен ответить, например «P1_SURVEY_ID», вы можете добавить сторону сервераусловие, которое не позволяет пользователю ответить на него снова, если у него уже есть:

Type: No rows returned

SQL Query: select * from YOUR_SURVEYS where SURVEY_ID = :P1_SURVEY_ID;

Таким образом, пользователь может нажать кнопку, только если он еще не ответил на этот конкретный опрос.

0 голосов
/ 11 октября 2019

Да;Вы должны быть в состоянии выяснить, было ли оно уже отправлено (например, запись в таблице получает ID; или survey_date получает значение sysdate).

Затем создайтеусловие для этой кнопки. Простой вариант - использовать тело функции, которое возвращает логическое значение, например,

return :P1_ID is null;

, которое будет отображать кнопку только в том случае, если: элемент P1_ID пуст. Если это не так, вы больше не увидите кнопку.

...