0

当表单内的输入字段出错时,我想在 RichFaces 4 项目中实现光标位置。

我已经在同一个表单中使用了一个 JQuery 函数,以便在显示表单时关注第一个输入字段;这很好用,每次我显示表单时,焦点都在第一个输入字段上。

<rich:jQuery query="focus().select()" selector="#ESUserEditPanelGrid :input:visible:enabled:first" name="focusFirst"/>
<rich:popupPanel id="ESUserEditPanel" autosized="false" keepVisualState="false" domElementAttachment="parent"
                     width="800" height="400" headerClass="panel-header-class" resizeable="true" onshow="focusFirst();" >

为了实现我的目标,我尝试使用 bean 方法更改选择器关键字,但它不起作用。

<rich:jQuery query="focus().select()" selector="#{eSUser.focus}" name="focusFirst"/>

显示表单时似乎没有调用 getFocus() 方法。

任何提示将不胜感激。

4

1 回答 1

0

也许你可以这样尝试:

<rich:jQuery query="focus().select()" name="focusFirst"/>
<rich:popupPanel id="ESUserEditPanel" autosized="false" keepVisualState="false"   
    domElementAttachment="parent" width="800" height="400" 
    headerClass="panel-header-class" resizeable="true" 
    onshow="focusFirst(#{rich:jQuery(eSUser.focus)},{})" >

这应该可以正常工作。该#{rich:jQuery(eSUser.focus)}命令将从 bean 中获取您的组件 ID 并评估正确的 jQuery 对象。这将传递给<rich:jQuery query="focus().select()" name="focusFirst"/>将执行焦点查询的命名 jQuery 函数。

我知道我有点晚了,但也许将来有人也会有同样的问题:)

亲切的问候, exor298

于 2013-07-11T07:13:12.427 回答