首先,非常感谢大家的持续支持。
我有一个问题是.xhtml和'f:ajax'。
我正在设置richfaces:collapsiblepanel'扩展'属性由bean变量默认折叠,在模糊事件中它被扩展。我希望在f:ajax请求完成后将焦点设置为UIComponent。为此,我在javascript中编写了一个函数,并在f:ajax的'onevent'中调用它。
但是在面板打开之前会触发一个函数,我无法将焦点设置在可折叠面板中定义的UIComponent上。
如何设置setFocus或如何在ajax请求完成后触发该函数?
提前致谢。
答案 0 :(得分:3)
你的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
函数中添加一些逻辑来检查面板是否已展开...