Oracle Apex 动态复制表格表单条目
Oracle Apex dynamically copy tabular form entry
我正在使用 Oracle Apex 19.1
我的表格形式如下所示:
当用户点击下面的按钮时,我想将第一天(“Lun. 07 Sept.”)的条目复制到一周中的其他日子。
到目前为止,我已经创建了一个点击动态操作,它执行以下 PL/SQL:
BEGIN
FOR i IN 1..htmldb_application.g_f01.count LOOP
htmldb_application.g_f02(i) := htmldb_application.g_f01(i);
htmldb_application.g_f03(i) := htmldb_application.g_f01(i);
htmldb_application.g_f04(i) := htmldb_application.g_f01(i);
htmldb_application.g_f05(i) := htmldb_application.g_f01(i);
END LOOP;
COMMIT;
END;
但是,当我点击按钮时没有任何反应。知道我做错了什么吗?我应该改用 JavaScript 吗?
我验证了每个 select 列表的 html id 确实是 f01_0001
、f01_0002
等(以第一列为例)。
Should I use JavaScript instead?
这是正确的。 htmldb_application.g_f02(i) 项仅在页面提交后可用。并且旨在更新数据库但不更新 DOM 元素。
这可能有帮助
var f01arr = document.getElementsByName("f01");
var f02arr = document.getElementsByName("f02");
var f03arr = document.getElementsByName("f03");
var f04arr = document.getElementsByName("f04");
var f05arr = document.getElementsByName("f05");
for (i = 0; i < f01arr.length; i++) {
f02arr[i].value = f01arr[i].value;
f03arr[i].value = f01arr[i].value;
f04arr[i].value = f01arr[i].value;
f05arr[i].value = f01arr[i].value;
}
我正在使用 Oracle Apex 19.1
我的表格形式如下所示:
当用户点击下面的按钮时,我想将第一天(“Lun. 07 Sept.”)的条目复制到一周中的其他日子。
到目前为止,我已经创建了一个点击动态操作,它执行以下 PL/SQL:
BEGIN
FOR i IN 1..htmldb_application.g_f01.count LOOP
htmldb_application.g_f02(i) := htmldb_application.g_f01(i);
htmldb_application.g_f03(i) := htmldb_application.g_f01(i);
htmldb_application.g_f04(i) := htmldb_application.g_f01(i);
htmldb_application.g_f05(i) := htmldb_application.g_f01(i);
END LOOP;
COMMIT;
END;
但是,当我点击按钮时没有任何反应。知道我做错了什么吗?我应该改用 JavaScript 吗?
我验证了每个 select 列表的 html id 确实是 f01_0001
、f01_0002
等(以第一列为例)。
Should I use JavaScript instead?
这是正确的。 htmldb_application.g_f02(i) 项仅在页面提交后可用。并且旨在更新数据库但不更新 DOM 元素。
这可能有帮助
var f01arr = document.getElementsByName("f01");
var f02arr = document.getElementsByName("f02");
var f03arr = document.getElementsByName("f03");
var f04arr = document.getElementsByName("f04");
var f05arr = document.getElementsByName("f05");
for (i = 0; i < f01arr.length; i++) {
f02arr[i].value = f01arr[i].value;
f03arr[i].value = f01arr[i].value;
f04arr[i].value = f01arr[i].value;
f05arr[i].value = f01arr[i].value;
}