我希望在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方法更改selector关键字,但它不起作用。
<rich:jQuery query="focus().select()" selector="#{eSUser.focus}" name="focusFirst"/>
当显示表单时,似乎不会调用getFocus()方法。
任何暗示都会受到赞赏。
答案 0 :(得分: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对象。这将传递给命名的jQuery函数<rich:jQuery query="focus().select()" name="focusFirst"/>
,它将执行焦点查询。
我知道我有点迟了但未来也许会遇到同样的问题:)
亲切的问候, exor298