我有一个Oracle ApEx(版本4.2.5)数据库应用程序,其中有1个“主页”类型的页面显示表中的当前记录,还有一个“ DML表单”类型的页面,您可以在其中插入/更新/删除同一表中的记录。那是一个通用的“报表和表单”类型的应用程序。
在第二页上,我想更改名为P2_KOD的特定文本字段时设置4个文本字段的值。为此,我针对该特定文本字段创建了一个动态操作。我已将事件设置为“更改”,选择类型设置为“项目”,项目设置为“ P2_KOD”,并且条件为空(即“-无条件-”)。
然后,我添加了一个真正的操作来设置4个文本字段的值。我已经尝试了“ PL / SQL函数体”和“ JavaScript表达式”的“设置值”操作。但是我无法设置那4个文本字段的显示值。我知道我可以设置这4个文本字段的会话值,因为我看到它们处于“插入”状态,并且在“查看”信息中分配了正确的项目值。
我的配置有什么问题?
编辑#1:我在apex.oracle.com上创建了相同的scneario。您可以使用以下凭据登录并签出“ Application 76791-Simple Rep&Form App”。有一个名为“ WHEN_DEPT_CHANGED”的动态操作,该操作应将P2_COMM的值更改为部门值的3倍。
Workspace: DANTE_DEO
UN : anonymous_developer
PW : ad
您收到错误:
Uncaught TypeError: string is not a function
对于“执行JS代码”中的此JS:
$x('P2_COMM').innerHTML = $x('P2_EMPNO').value() * 3;
$x('P2_COMM').value = $x('P2_EMPNO').value() * 3;
这是因为.value()不是函数,就像一个属性。改成:
$x('P2_COMM').innerHTML = $x('P2_EMPNO').value * 3;
$x('P2_COMM').value = $x('P2_EMPNO').value * 3;
而且你应该做生意。
方便的提示:您可以使用Google Chrome中的控制台(按F12键,导航至控制台并刷新页面)或使用Firefox中的Firebug扩展,在Apex(或其他任何方式)中调试JS代码。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句