阻止页面在表单提交时滚动到顶部

时间:2015-09-18 09:39:40

标签: jsf scroll submit onchange

我按照以下选项从列表框中提交了一个页面:

  onchange="submit()"

选择完成后,页面会立即滚动到页面顶部,其中包含取决于选择的新信息。

jsf中是否存在滚动发生的方式?

祝你好运 爱德蒙

1 个答案:

答案 0 :(得分:1)

这不是JSF特有的。这是HTML特有的。当您让JSF在生成的HTML input / select元素上生成onchange="submit()"属性时,您基本上指示HTML input / select元素调用父HTML {{1}的submit函数元素。这将触发完整的同步请求,从而导致整页重新加载。默认行为是将显示页面顶部,就像通过普通链接打开页面或执行刷新一样。

如果要执行异步提交,只需输入一些ajax即可。 JSF 2.x通过<form>标记内置了ajax支持。

所以,而不是

<f:ajax>

DO

<h:selectOneMenu ... onchange="submit()">
    ...
</h:selectOneMenu>

如果您打算在同一视图中的其他位置更新特定组件,请在<h:selectOneMenu ...> ... <f:ajax /> </h:selectOneMenu> 属性中指定其绝对或相对客户端ID。

render

另见: