APEX列链接中的JavaScript调用无法识别列值

APEX列链接中的JavaScript调用无法识别列值,javascript,oracle-apex,Javascript,Oracle Apex,我已通过以下查询成功创建了报告: select '' Edit_Link, f.Unique_Allegation_ID, g.Artist, g.song_name as Song, g.owner_name as Owner, g.plaintiff_name as Plaintiff, g.premium as "Premium", g.classic as "Classic", g.restricted as "Restricted" from tbl_unique_allegation

我已通过以下查询成功创建了报告:

select '' Edit_Link, f.Unique_Allegation_ID, g.Artist, g.song_name as Song, g.owner_name as Owner, g.plaintiff_name as Plaintiff, g.premium as "Premium", g.classic as "Classic", g.restricted as "Restricted"
from tbl_unique_allegation f
left join (
  Select a.recording_id, a.Artist, a.song_name, a.premium, a.classic, a.restricted, d.owner_name, e.plaintiff_name
  from tbl_recording a
  left join tbl_recording_owner d
  on a.owner_id = d.owner_id
  left join tbl_recording_plaintiff e
  on a.plaintiff_id = e.plaintiff_id
) g
on f.recording_id = g.recording_id
我已将“编辑链接”设置为指向URL:

javascript:test(#Unique_Allegation_ID#);
哪个叫

javascript:test(value){
   alert(value);
}
如果我把电话改成

javascript:test(3);

它正确地提醒值“3”,但由于某种原因,它不会提醒我的列值
Unique\u-Allegation\u-ID
。我的问题是什么?

只需用这样的单个量化标记将其括起来即可

javascript:test('#Unique_Allegation_ID#');

希望这有帮助=)

这是一个罕见的实例,由于您的列别名,它区分大小写。这些说明了变化:

javascript:test('#Premium#');
javascript:test('#UNIQUE_ALLEGATION_ID#');
我不会在APEX查询中对列别名使用双引号,将标签规范推迟到相关属性


或者,您可以设置一个动态操作来侦听相关单元格的单击,选择器将取决于您的主题/模板。然后使用类似$(this.triggeringElement).text()的方法获取值。

不幸的是,这只会提醒字符串“#Unique_-Allegation_-ID#”您使用的是什么版本的apex?请确保您的函数位于主页面上的javascript>函数和全局变量声明下。v4.2,我知道它在正确的位置,因为函数是用数值和字符串值调用的。我似乎无法从行中传递一个值,这个位置在哪里?请详细说明一下,函数是这样写的吗<代码>javascript:test(value){alert(value);}在编辑页面>javascript>函数和全局变量声明中。是的,它是这样写的看起来你试图访问页面范围之外的变量名?如果是这种情况,您需要在会话中设置值并访问它。这肯定会鼓励使用单击处理程序。在URL的
数据-
属性中封装必要的值。当存在处理事件的DA时,或者当所有单击事件处理程序都集中在JS中时,维护页面的任何人都可以看到它。