Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JSF阻止commandLink重新加载页面_Javascript_Jquery_Jsf - Fatal编程技术网

Javascript JSF阻止commandLink重新加载页面

Javascript JSF阻止commandLink重新加载页面,javascript,jquery,jsf,Javascript,Jquery,Jsf,我需要阻止它,因为当单击按钮时,我将丢失页面中的参数 这是我的代码: <h:commandLink styleClass="ui-btn ui-btn-c ui-icon-arrow-r ui-btn-icon-right" value="Continuar" action="#{metaWEB.btnProximo()}" /> 我在这里找到了一些结果,就像那样 但是我的操作使用来自页面的消息,因此它需要重新加载表单,但页面不需要 我找到了这根线 我想这可能是我的解决办法,但

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

这是我的代码:

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

我在这里找到了一些结果,就像那样

但是我的操作使用来自页面的消息,因此它需要重新加载表单,但页面不需要

我找到了这根线

我想这可能是我的解决办法,但我不明白他做了什么:(

感谢高级

只需将其设置为ajax(异步)按钮而不是常规(同步)按钮。只需在现有标记中嵌套一个

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

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

不要忘记确保从按钮的操作方法返回
null
void
,否则视图仍可能因非
null
/
void
导航结果而更改

另见:
  • -

请记住更改呈现=“@none”以不重新加载页面

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


你对AJAX有什么想法吗?除了@BalusC'回答:你的
监听器可以是任何方法,只要确保你这样调用它:
listener=“#{metaWEB.btnProximo()}”
-这个
()
part在这里很重要。噢,谢谢。我只需要打电话给ajax来传达我的信息--“你让我走上了正确的道路^^谢谢老兄,你救了我一天,我被困了4个小时