Oracle Apex 5.1.2提交数据后页面项内容消失的解决咨询
解决Oracle Apex 5.1.2提交后页面输入项清空的问题
嘿,我之前也碰到过一模一样的情况,提交表单后输入框全空确实挺闹心的,不过有几个简单的办法能帮你把输入内容留住:
方法1:开启页面项的“保存状态”属性
这是最直接的方案,让Apex把页面项的值存在会话状态里,提交后页面重载时自动取回:
- 打开需要保留内容的三个输入项(日期选择器、两个文本字段)的编辑界面
- 找到Session State区域,把
Save State选项改成Yes - 保存设置后,下次提交页面,这些项就会稳稳保留提交前的内容了
方法2:通过提交分支手动赋值
要是不想全局开启保存状态,也可以在提交后的跳转分支里显式给项赋值:
- 编辑页面默认的提交分支(就是提交后跳回当前页面的那个分支)
- 找到Set Items部分,点击添加项,依次填入你的三个输入项(比如
P31_DATE、P31_TEXT1、P31_TEXT2) - 每个项对应的Value分别设为
&P31_DATE.、&P31_TEXT1.、&P31_TEXT2.——用提交前的会话值重新给项赋值 - 这样分支执行时,就会把输入项重置为提交前的内容
方法3:调整DML流程的缓存清除规则
你的Automatic Row Processing (DML)流程可能默认在执行成功后清空了页面缓存,导致输入项被重置:
- 编辑这个DML流程
- 找到After Processing区域,把
Clear Cache选项改成None,或者只指定你需要清除的项(别包含那三个输入项) - 保存后,DML执行成功就不会清空你想保留的输入内容了
小提醒
- 隐藏项
P31_ROWID在插入后会自动赋值为新生成的ROWID,这个是正常的,不用改它的设置 - 要是页面上有重置按钮,要确保它的动作不会覆盖你要保留的输入值
内容的提问来源于stack exchange,提问作者Katherine Reed
相关产品推荐
相关产品推荐

