¿Cómo puedo deshabilitar un h: commandButton sin evitar que se llame a action y actionListener? [duplicar]

Esta pregunta ya tiene una respuesta aquí:

Implementación de Java / JSF puro para la prevención de doble envío 3 respuestas

Tengo una etiqueta de script simple con una función que incluyo en la parte inferior del cuerpo html. Este script simplemente desactiva un botón de envío. Entonces tengo unonclick Evento que llama a la función.

Tengo este código en 5 páginas diferentes y funciona en 3 de las cinco.

Aquí está el código:

<!-- more non-important html -->

<h:commandButton id="buttonToDisable" 
    value="some text"
    action="#{myBean.myBeansAction}" 
    actionListener="#{myBean.myBeansActionListener}" 
    onclick="disableButton()">

    <!-- I also have an f:param in some of these pages but I didn't 
    think that would matter -->

</h:commandButton>

<!--  more non-important html -->

<script>
    function disabledButton() {
        document.getElementById("myForm:buttonToDisable").disabled = 'true';
    }
</script>

Cualquier ayuda sería muy apreciada. Las únicas diferencias entre las páginas que funcionan y las que no funcionan es queaction yactionListeners Hay diferentes tipos de frijoles y algunos tienenf:params y otros no.

Respuestas a la pregunta(3)

Su respuesta a la pregunta