Habilitar/Desabilitar botão gravar

Olá pessoal do GUJ, estou com uma dúvida e gostariar da saber se alguém poderia me ajudar.

Bom! tenho um h:form no jsf 2 com primefaces 3.4, e preciso de um evento que seja disparado quando todos os campos estiverem preenchidos para que seja habilitado o botão de incluir.

Talvez haja uma forma sem gambiarra, no próprio jsf 2, mas realmente não sei.
Alguém se habilita?

Dica: Faça em java script.

   onkeyup: function( element ){                   
                        if( this.errorList.length>=1 ){
                                $('input[type="submit"]').attr({disabled: 'disabled'});
                                $('input[type="submit"]').slideUp();
                        }
                        else {
                                $("input[type='submit']").removeAttr('disabled');
                                $('input[type="submit"]').slideDown();
                        }
                },

Fica mais leve.
Eu não trabalho com o JSF ainda, mas no Spring MVC para fazer isso, eu tenho que fazer uma consulta no servidor. Então, prefiro utilizar JavaScript.
Bele.

Obrigado vou tentar

Alguém teria algo em JSF que desse o mesmo resultado que o amigo

Você vai ter que trabalhar com ajax.
Exemplo… no seu inputText coloque um ajax no event change que chame um método do seu ManagedBean que valida se todos campos estão preenchidos e no update dele você passa o id do seu botão incluir.

[]'s

Acho melhor você também alterar isso pra deixar o botão habilitado mas colocando a propriedade required com valor true nos campos que você precise que sejam informados.

[]'s

Vc pode utlizar a atributo rendered ou disabled. Desvantagem: se for muitos campos vc terá que repassar um por um,
no exemplo eu repasso apenas dois, nome e senha.

com o rendered o botão Salvar não aparece enquanto os campos não forem preenchidos

<p:commandButton action="#{usuarioBean.salvar}" value="Salvar" rendered="#{usuarioBean.usuario.nome != null or usuarioBean.usuario.senha != null}"/>
com o disabled o botão Salvar fica desabilitado enquantos os campos não forem preenchidos.

<p:commandButton action="#{usuarioBean.salvar}" value="Salvar" disabled="#{usuarioBean.usuario.nome == null or usuarioBean.usuario.senha == null}"/>
Ou então, como já foi mencionado, habilite o atributo required como true em todos os campos e personalise as mensagens de advertência para o usuário informando
a obrigatoriedade de preenchimento dos campos.