【问题标题】:jsf + jquery: disable and enable h:commandButton by JQueryjsf + jquery:通过 JQuery 禁用和启用 h:commandButton
【发布时间】:2013-09-04 16:07:00
【问题描述】:

我有一个带有 h:commandButton 作为提交按钮的 jsf 表单:

<h:form>
     <h:commandButton id="import_opener" binding="#{submit}" disabled="true" action="#{bean.save}" value="submit"/>
</h:form>

我尝试通过 JQuery 将“禁用”属性设置为 true(以启用按钮):

$("[id='#{submit.clientId}']").prop("disabled", false);

一切正常。但是当我提交 commandButton 时,动作 #{bean.save} 不会触发,只是重新加载表单页面。如果我不通过 JQuery 对 h:commandButton 进行操作,则操作会触发。

请帮助我在 JQuery 更改 h:commandButton 的禁用属性后运行#{bean.save}。

【问题讨论】:

    标签: jquery jsf


    【解决方案1】:

    这是因为 JSF 具有一些内置的安全功能。检查传入请求是否“可能”。传入的请求告诉 JSF 一个实际上被禁用的按钮已被按下。因此,该请求将被视为无效并被拒绝处理。这很好,因为可以通过多种方式操作浏览器。

    解决方案是不设置disabled="true",而是让它在JSF端启用并通过jQuery禁用它,而不是相反。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-05-05
      • 1970-01-01
      • 2016-03-09
      • 1970-01-01
      • 2010-12-01
      • 1970-01-01
      • 2012-11-17
      • 1970-01-01
      相关资源
      最近更新 更多