使用ADF处理浏览器兼容性

时间:2013-06-11 21:06:23

标签: oracle-adf jdeveloper

我正在尝试为ADF可编辑表中的输入框捕获“ENTER”键的按键事件。我添加了客户端侦听器和服务器侦听器,并在af:resource标记内输入框的JavaScript代码。

要求如下 -    我有一个可编辑的表,共有6列,但只有第一列和最后一列是可编辑的。因此,当用户在第一列中输入值并点击输入时,我需要从其他一些业务组件填充一些数据并填充其他列。

我能够捕获回车键事件,但是当我在调用服务器端方法后使用chrome时,行焦点会自动移动到表中的下一行。 有人能告诉我如何在桌面上阻止这一点。这只发生在chrome中。代码在firefox和IE中运行良好。

1 个答案:

答案 0 :(得分:0)

您可以根据要求通过javascript将焦点设置在您需要的字段上。但是您需要知道要关注的组件的客户端ID。 在事件处理程序中调用它:

String clientId = ...
String script = "AdfPage.PAGE.findComponent('" + clientId + "').focus();";
FacesContext context = FacesContext.getCurrentInstance();
Service.getRenderKitService(context,
    ExtendedRenderKitService.class).addScript(context, script);
处理响应时,将在客户端上调用

script