我在 Oracle Apex 的应用程序的一页上有多个文件浏览器项字段。会发生什么:当我错过任何触发验证错误的项目时,我想将该文件保存到浏览器,但如果我收到验证错误,我通常会丢失它。除了文件浏览器项目字段之外,是否有其他项目字段保持先前值的解决方案。请看下面的ss:
问问题
74 次
2 回答
0
Anshul,APEX 4.2 非常老旧,不再受支持。APEX 的更高版本(或最好是最新版本)的行为与 Dan 上面解释的不同。
您能否将您的应用程序导入 apex.oracle.com(运行 APEX 20.1),您可能会看到更好的结果。基于此,您有望将其用作升级环境的理由。
问候,大卫
于 2020-05-01T14:51:42.133 回答
0
转到您的页面级属性和函数和全局变量声明中的如下函数:
function validateItems(request) {
var $file1 = $('#P68_FILE_1');
var $file2 = $('#P68_FILE_2');
var errorsFound = false;
if ($file1.val() === '') {
errorsFound = true;
// Show item in error state
}
if ($file2.val() === '') {
errorsFound = true;
// Show item in error state
}
if (!errorsFound) {
// I think doSubmit was the name of the function back then. If not, try apex.submit
doSubmit(request);
} else {
// Show error message at top of page, I'll use a generic alert for now
alert('You must select a file for each file selector.');
}
}
然后,右键单击Create按钮并选择Create a Dynamic Action。将 Dynamic Action 的名称设置为Create button clicked。
对于 Action,将Type设置为Execute JavaScript Code。在代码中输入以下JS:
validateItems('CREATE');
最后,确保Fire on Initialization被禁用。
对Save按钮重复该过程,但将传递给的请求值更改validateItems
为SAVE。
于 2020-05-05T22:59:23.540 回答