Na minha página JSF, há alguns selectOneRadio e um selectOneMenu. Acontece que eu preciso dar submit no onchange() toda hora, caso contrário meu managedBean não pega os valores.
Detalhe : Meu botão “pesquisar” está em outro form, porque quando estavam no mesmo form, a action associada ao botão não respondia.
Marcio, estava com um problema parecido, resolvi criando um método valueChangeListener no meu backing bean e linkando o selectOneRadio nele. Você precisa submeter toda hora? Com o valueChangeListener, você altera os selects, e quando der o submit ele aplica os valores de todos changes que você fez no backingBean.
Espero que te ajude
Falou
marcioa1
Ferryman,
O que você colocava dentro do método do changeListener ? Podes me dar um exemplo ? Na prática não seria mais um submit() ?
Márcio
urubatan
ta tentando implementar coisas que deveriam ser feitas com AJAX sem ajax …
pelo menos foi o que entendi pelo que tu falou …
pode ser que eu tenha entendido tudo errado
Ferryman
Bom o que eu fiz acho que não se aplica ao seu caso…
No meu caso eu tenho um formulário dinamico, que é criado de acordo com minhas classes de negócio para que o usuario preencha. Assim sendo, eu não sei que componentes existem no formulario, então na instanciação dos componentes eu liguei todos eles com um valueChangeListener, aonde a partir do ValueChangeEvent eu pego o componente, seu ID e valor e adiciono em um mapa.
Assim, toda vez que eu dou submit, o changeListener processa todas as changes que ocorreram e insere os valores no mapa. Não sei se essa é uma boa abordagem, na verdade eu gostaria de utilizar o mapa direto como backing bean e fazer com que os componentes incluissem seus valores no mapa quando ocorrer o submit. Porem não sei se isso é possível.
Porque você precisa atualizar seu backingb no onchange? não pode ser direto no submit? o submit não está aplicando os valores no bean?
marcioa1
Urubatan
Não é AJAX não.
Na verdade é um simples formulário, com check boxes , um comboBox e dois inputText. Tenho um commandButton “pesquisar” que só funciona se estiver dentro de um form separado ( ??? ) . Este botão deveria disparar um action que iria ao banco etc …, mas se estiver no mesmo form ele não funciona.
Não sei o que fiz de errado para :
o botão não funcionar no mesmo form
ter que dar submit no onchanche o tempo todo de cada checkbox, inputText etc…
Ferryman,
O submit não está aplicando os valores. Tem alguma coisa errada no faces-config ?
Obrigado,
Márcio
Ferryman
Geralmente esses erros estranhos são bobeiras (pelo menos comigo, todo problema que eu demoro + de 20 min pra encontrar o misterioso erro, é sempre alguma boberinha no código).
Você não esqueceu de bindar o SelectOneRadio com o bb?
O nome funciona, mas o checkbox não. Tenho que implantar valueChangeListener ?
Obrigado,
Márcio
Ferryman
Não sei se isso influencia, mas esta com erro de digitação no value do selectOne. Olha o cmapo value ta assim :
value="#{formTeste.valorizacao"
tenta corrigir pra ver se funciona
marcioa1
Ferryman,
Estava errado mesmo. :oops:
Obrigado,
Márcio
Ferryman
rsrs
que bom que ajudei.
Esse é o tipo de problema que agente leva um tempão pra resolver, e outra pessoa, de bater o olho encontra.
XP ajuda muito com isso.
Abraço,
Ferry
J
juniortrentin
Pessoal estou com um problema bem parecido com esse…
Estou usando um <:selectOneRadio> dentro de um rich:dataTable tive que no onchange utilizar uma função javascript (depois de muito pesquisar) para conseguir selecionar somente 1 de cada vez, mas tudo bem…
O meu problema está em capturar o value dos Radios dentro do MB, como podem ver estou utilizando o valueChangeListener, ele funcionou perfeitamente no Firefox por segurança fui testar no IE, e não é que não funcionou… no IE ele não chama meu método “respostaCotacaoMB.atualizaRespostaSelecionada”…
OBS.: Firefox 3 e Internet Explorer 7