JSF 2.0命令按钮,以防止使用jQuery进行多次提交

时间:2012-11-05 09:35:51

标签: jquery jsf-2

我在使用JSF 2.0并在点击双击提交按钮时处理多次提交。

我在点击时使用了jQuery来禁用命令按钮, 这是我的代码:

$("input[name='form:submitButton']").click(function() {
    $(this).attr("disabled", true);
    return true;
});

当我点击按钮时,提交按钮成功禁用,但提交完全没有。

任何人都可以给我一些提示吗?

非常感谢!!

2 个答案:

答案 0 :(得分:1)

$("input[name='form:submitButton']").click(function() {
    setTimeout("$(this).attr('disabled', true);", 50);
    return true;
});

<h:commandButton value="Go"
   onclick="setTimeout('this.disabled = true;', 50);" 
   action="#{bean.go()}"/>

答案 1 :(得分:0)

尝试这样的事情

<h:commandButton value="Submit" onclick="document.getElementById(\'' + this.id + '\').disabled=true;">
  <f:ajax execute="@form" listener="#{bean.listener}"/> 
</h:commandButton>

您可以添加到f:ajax oncomplete="....disabled=false",或更新整个视图以重新启用该按钮。