I have a <h:commandButton>
in my XHTML page. I want the button to be disabled as soon as I click the button. Then the button should call the action. My button gets disabled as I expect but the problem is that the action is not fired.
<h:commandButton value="Go" onclick="this.disabled=true" action="#{bean.go()}"/>
But if I remove the onclick
attribute the action is fired.
Or if I used an <a4j:commandButton>
it works.
Following a4j button works.
<a4j:commandButton value="Go" onclick="this.disabled=true" action="#{bean.go()}"/>
How can I disable a <h:commandButton>
after being clicked, so that the action still fires?
Use this. disabled=true; or this. disabled="disabled"; .
1.1 To disable a submit button, you just need to add a disabled attribute to the submit button. $("#btnSubmit"). attr("disabled", true); 1.2 To enable a disabled button, set the disabled attribute to false, or remove the disabled attribute.
h. Tag commandButton. Renders an HTML "input" element. Decode Behavior. Obtain the Map from the "requestParameterMap" property of the ExternalContext .
Use setTimeout
, that way the action will be fired and the button will be disabled...
<h:commandButton value="Go"
onclick="setTimeout('this.disabled = true;', 50);"
action="#{bean.go()}"/>
You can also take a look at the following question too :How can I disable an h:commandButton without preventing the action and actionListener from being called?
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With