why are you useing a4j:command to implement reset button? why not just h:command?
I have tried to use h:commandLink of type "reset" with a4j:support. The result is the same.
In my case I have a form and 3 buttons. First button let user to edit values. It sends ajax request to make all components of form enabled (they are disabled by default). Second button submits all made changes. And the third button is "Cancel". It must revert all changes and set all component to disabled state.
Besides, I use custom client validation framework. It sets up form by providing it onsubmit event.
I use a4j:commandButton to send request with the third button. And this way client side validation works, because form onsubmit event is called.
look.. seems a4j:commandButton performs request with type="reset" also... It's a problem but I think its minor...
How do you think partial reset should works? :) You may use h:commandButton with type ="reset" . It will works as expected without any request only reseting form. We able to make a4j:control works in the same way.. But as I understand you need to perform submit? so onsubmit will be fired at any request. So if I right this fix will not be usefull for your case. a4j:button should not be used with reset type.
I think that a4j:commandButton shouldn't perform request with type="reset". It should work as h:commandButton with the same attribute.
Please, tell me, why onsubmit will be fired on request. Is it mandatory to submit one value? Or you need it to send ViewState?
1) So use h:commandButton. It works like you need.
2) it's mandatory to call onsubmit because it's normal submit bewhaviour. Processing limited on server side (decode, validation, applying values, optionally encoding). But form submitted as usually on request. And onsubmit function will be called.
Thank you for your answer. I'll use workaround.