首先,非常感谢大家的持续支持。
我有一个与.xhtml和'f:ajax‘相关的问题。
我通过bean变量设置了richfaces:collapsiblepanel ' expanded‘属性,这是默认的折叠属性,在模糊事件中,它会被展开。我想在f:ajax请求完成后设置一个UIComponent焦点。为此,我用javascript编写了一个函数,并在f:ajax的'onevent‘中调用它。
但是onevent函数在面板打开之前触发,我不能将焦点设置在可折叠面板中定义的UIComponent上。
如何在ajax请求完成后执行setFocus或如何触发该函数?
提前谢谢。
发布于 2013-04-23 18:28:43
您的js函数应该如下所示
function doTheFocus(data) {
if (data.status === 'success') {
//here goes the js code that will set the focus
//this code will be executed only when the ajax will be done
}
}
下面是你的f:ajax
的样子
<f:ajax onevent="doTheFocus" />
如果您想在面板打开时调用焦点的js函数,可以尝试
<rich:collapsiblePanel onswitch="doTheFocus"
或者(我不确定...)
<rich:collapsiblePanel onswitch="doTheFocus()"
如果您最终将使用onswitch
,则可能需要在doTheFocus
函数中添加一些逻辑,以检查面板是否展开……
https://stackoverflow.com/questions/16166142
复制相似问题