【问题标题】:Disable page jumping to the top after commandButton is clicked单击commandButton后禁用页面跳转到顶部
【发布时间】:2015-02-20 12:49:37
【问题描述】:

我得到了一个<h:commandbutton> 的赞

<h:commandButton value="Neuer Abschnitt"
styleClass="btn btn-primary btn-info"
action="#{beitragBearbeitenBean.erstelleAbschnitt}" />

好吧,我点击按钮,调用该方法,然后页面跳到顶部(前提是你不在顶部!)

有趣的是,一个

<f:ajax execute="@form" />

确实提供了一点跳跃。

一般来说,我怎样才能避免跳跃?

【问题讨论】:

  • 当你的意思是跳转时,光标是要跳转到html文档的开头吗?
  • 嗯,这只是视图。如果点击按钮,用户的视图会跳转到页面顶部。

标签: jsf-2


【解决方案1】:

&lt;h:commandButton&gt; 发布页面的完整帖子,没有 ajax 内容。因此,跳回同一页面的顶部是正常的(假设您的操作返回 null 或为 void)。 &lt;f:ajax&gt; 使它刷新表单并很可能跳转到表单的顶部(如果您使用的按钮也在该表单中)。更新表单的某些部分(例如表单内的面板)而不更新按钮,因为它可以留在面板外,很可能会导致您停留在同一个位置。但是如果面板的大小发生变化,它可能不会改变(但是您可以例如使面板可滚动,这样按钮就不会移动)。

【讨论】:

  • 听起来很有趣!我不知道,谢谢!但是,我不想为此使用 ajax。 (参见我的 示例)
  • 好的...如果您想留在同一页面和同一“位置”,不知道为什么您不希望这样做,但这是您的选择;-) 然后您必须存储当前位置服务器中的某处(通过 javascript/jquery 读取并将其发布到服务器)并通过一些 jquery/javascript 重新加载页面,恢复它。复杂,但它可能会起作用(但就个人而言,我会选择 ajax 方式
  • 好吧,另一方面,我的命令按钮更新了我的数据表的列表,奇怪的是,它不适用于其中的 。我真的不想在这里多问。
  • 显然,我太愚蠢了,无法正确使用 。无论如何,你的答案就是我问题的答案。它适用于ajax。我猜,如果没有 ajax,就需要一些 JS 操作。再次感谢您!
猜你喜欢
  • 2013-09-15
  • 2016-04-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-10-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多