Jsf p:commandButton更新-更改";“观点”;在第页?
这是一个奇怪的问题,如果可能的话,我不想泄露代码,所以我会尽全力解释到底发生了什么 基本上,我有一个commandButton,它执行AJAX操作,然后更新它所在的整个表单 此表单的工作原理如下:Jsf p:commandButton更新-更改";“观点”;在第页?,jsf,primefaces,Jsf,Primefaces,这是一个奇怪的问题,如果可能的话,我不想泄露代码,所以我会尽全力解释到底发生了什么 基本上,我有一个commandButton,它执行AJAX操作,然后更新它所在的整个表单 此表单的工作原理如下: <h:form id="tabform"> ..... <p:commandButton update=":tabform" value="Save" ajax="true" onstart="savingDialog.show();" onsuccess="sa
<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的中间。不是焦点,而是“浏览器视图的焦点”(如果有意义的话)
我可以确认它与commandButton上的更新有关。在更新之后,它似乎把我放在表格的中间。
有什么办法可以解决这个问题吗?在服务器端执行任何操作后,使用上的
滚动到
方法滚动到特定组件。显然,这需要您事先设计一个方案,以了解您想要将页面升级到的组件。如果没有有意义的代码,您可以从以下内容开始:
public void saveContent(){
//your implementation here
RequestContext context = RequestContext.getCurrentInstance();
context.scrollTo("tabForm:ed5")
}
这并不是我想要的(基于我目前的设计),但我能够用这个答案来帮助我找到一种方法,在按下时拉动当前的滚动,然后在完成时重新分配窗口滚动。