p:commandButton update - 改变页面上的“观点”?

时间:2014-01-17 22:21:12

标签: jsf primefaces

一个奇怪的问题,如果可能的话,我不想放弃代码,所以我会尽力解释发生了什么。

基本上,我有一个执行AJAX操作的commandButton,然后更新它所在的整个表单。

此表格的作用如下:

<h:form id="tabform">

    .....

    <p:commandButton update=":tabform" value="Save" ajax="true" onstart="savingDialog.show();" onsuccess="savingDialog.hide();" actionListener="#{bean.saveContent}" /> <!-- styling makes it fixed position -->


    .....

    <p:editor id="ed1" />
    <p:editor id="ed2" />
    <p:editor id="ed3" />
    <p:editor id="ed4" />
    <p:editor id="ed5" />
    <p:editor id="ed6" />


</h:form>

当我点击保存按钮,我就像编辑器5一样,它将保存然后将我放在编辑器2的中间。不是焦点,而是&#34;浏览器视图的焦点&#34; (如果这是有道理的)。

我可以确认它与commandButton上的更新有关。在更新后,它似乎把我放在了tabform中间的一半。

有没有办法解决这个问题?

1 个答案:

答案 0 :(得分:2)

RequestContext上使用scrollTo方法在任何服务器端操作后滚动到特定组件。显然,这需要您设计一个方案,以便事先知道要将页面调整到的组件。如果没有您的有意义的代码,您可以从以下开始:

public void saveContent(){
   //your implementation here
   RequestContext context = RequestContext.getCurrentInstance();
   context.scrollTo("tabForm:ed5")  

}