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?
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.
C
clarinetabest
Obrigado vou tentar
C
clarinetabest
Alguém teria algo em JSF que desse o mesmo resultado que o amigo
G
grinche
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
G
grinche
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
A
aprendizweb
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.