Galera,
Tenho uma situação em que preciso solicitar ao usuário o preenchimento de um campo apenas no caso de um checkbox estar “ticado” anteriormente. Tipo, quando o checkbox estiver desmarcado, o campo não é renderizado, e esse modo on/off é dinâmico.
Tenho o codigo abaixo, que roda beleza no Firefox mas no IE, não. Atenção principalmente para do tal do onchange. Li por aí (e constatei na carne) que ele funciona apenas parcialmente no IE (digo “parcialmente” porque no navegador do Tio Bill ele tem o funcionamento idêntico ao do onblur, sendo executado somente quando o componente perde o foco), apesar de no FF tudo sair como esperado.
Aqui vai ele:
<s:decorate template="/layout/edit.xhtml" id="id1" rendered="#{manterLinhaNegocialBaseExternaController.permiteEdicao}">
<ui:define name="label">Linha subordinadora:</ui:define>
<h:selectBooleanCheckbox
value="#{objLinhaNegocialBaseExternaSelecionado.indicadorBooleanoLinhaSubordinadora}"
disabled="#{not manterLinhaNegocialBaseExternaController.permiteEdicao}" tabindex="2" >
<a4j:support event="onchange" reRender="idAreaLinhaSubordinadora" ajaxSingle="true" />
</h:selectBooleanCheckbox>
<h:outputText value="Sim" />
</s:decorate>
<h:panelGroup id="idAreaLinhaSubordinadora" rendered="#{manterLinhaNegocialBaseExternaController.permiteEdicao}">
<s:decorate template="/layout/edit.xhtml" rendered="#{ (not objLinhaNegocialBaseExternaSelecionado.indicadorBooleanoLinhaSubordinadora) }">
<ui:define name="label">Linha subordinadora:</ui:define>
<h:selectOneMenu value="#{objLinhaNegocialBaseExternaSelecionado.objLinhaSubordinadora}" >
<s:selectItems value="#{manterLinhaNegocialBaseExternaController.listaLinhasSubordinadoras}" var="registro"
label="#{registro.codigoLinha}#{' '}#{registro.nome}"
noSelectionLabel="Selecione..."/>
<s:convertEntity />
</h:selectOneMenu>
</s:decorate>
</h:panelGroup>
Ressalto que já tentei mudar o onchange para onclick e onselectionchange e nada surtiu efeito.
Alguém tem alguma luz sobre o assunto?
Abraço a todos
Bonissauro