javascript - JSF Prevent commandLink 重新加载页面

标签 javascript jquery jsf

我需要阻止它,因为单击按钮时我会丢失页面中的参数。

这是我的代码:

<h:commandLink styleClass="ui-btn ui-btn-c ui-icon-arrow-r ui-btn-icon-right" value="Continuar" action="#{metaWEB.btnProximo()}" />

我在这里找到了一些结果,比如 How make commandButton not fully refresh page? How to use f:ajax?

但是我的 Action 使用了来自页面的消息,所以它需要重新加载表单,而不是页面。

我找到了这个帖子 https://stackoverflow.com/questions/18868130/preventing-jsf-commandbutton-from-reloading-the-page/18868374#18868374

我认为这可能是我的解决方案,但我不明白他做了什么:(

感谢高级

最佳答案

只需将其设为 ajax(异步)按钮而不是常规(同步)按钮即可。这是嵌套 <f:ajax> 的问题在现有标签内。

<h:commandLink ...>
    <f:ajax execute="@form" render="@form" />
</h:commandLink>

execute="@form"告诉 JSF 处理整个表单(命令组件所在的表单中包含的所有输入组件)。 render="@form"告诉 JSF 将整个表单更新为 ajax 响应(因此,如果您在同一个表单中显示消息,它们也会更新)。

不要忘记确保返回 nullvoid来自按钮的操作方法,否则 View 可能仍会因非 null 而改变/void导航结果。

另见:

关于javascript - JSF Prevent commandLink 重新加载页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21163347/

相关文章:

jsf - 如何在 primefaces 的数据表中实现拖放(行洗牌)?

c# - 如何声明和使用来自 json 对象的函数名?

javascript - 水平移动div?

javascript - 在 htmlUnit 中执行 Javascript

javascript - jQuery Mobile 更改页面失败

javascript - 如何使用在给定 jQuery 选择中找到的元素生成对象

jquery - 结合父主题 JS 和 CSS

javascript - 如何使用 Cell.js 在 $text 中注入(inject)另一个 html 标签?

具有延迟加载、过滤和排序功能的 jsf 数据表

jsf - actionListener commandLink 不适用于惰性 dataScroller