JSF:JS重定向不适用于h:commandButton onclick事件



a4j:commandLink迁移到h:commandButton的问题。

this working case:

<a4j:commandLink  event="onclick" onclick="if (!confirm('#{resourceBundle.agreement_cancel_message}')) return false;" oncomplete="window.location.href='menu?agreementId='+ agreementId;"/>

此情况下h:commandButton不工作,当前页面刚刚刷新:

<h:commandButton onclick="if (!confirm('#{resourceBundle.agreement_cancel_message}')) return false;window.location.href='menu?agreementId='+ agreementId;"/>

我知道,我不能用oncomplete代替h:commandButton

您需要always return false,以防止按钮的默认操作(提交表单)。

<h:commandButton onclick="if(confirm('#{resourceBundle.agreement_cancel_message}'))window.location.href='menu?agreementId='+ agreementId;return false;"/>

(将{}放在if正文周围可以提高可读性)

顺便说一下,您似乎从未调用bean操作方法。你为什么要使用<h:commandButton> ?
<button onclick="if(confirm('#{resourceBundle.agreement_cancel_message}'))window.location.href='menu?agreementId='+ agreementId;return false;"/>

页面刷新,因为输入的默认事件处理程序正在工作。

尝试阻止输入的提交行为(返回false;在结尾):

<h:commandButton onclick="if (!confirm('#{resourceBundle.agreement_cancel_message}')) return false;window.location.href='menu?agreementId='+ agreementId; return false;"/>

相关内容

  • 没有找到相关文章

最新更新