Bom dia galera
Vou estou tentando fazer uma ação quando muda o valor do meu <h:selectOndeMenu> ativar ou desativar uma div na minha tela.
Qdo eu mudo o valor só chama a tela novamente, mas não ativa a outra Div.
Estou fazendo deste jeito, mas não tá funcionando, será que alguém pode dar uma ajuda.
no meu JSP está assim, fiz a lista diretamente nele, pois não tem tabela referenciando no banco e tentei de td fazer no Java mas não consegui.
<%@page import="br.com.monisat.empresa.CadEmpresa"%>
<%@ page contentType="text/html;charset=iso-8859-1"%>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="https://ajax4jsf.dev.java.net/ajax" prefix="a4j"%>
<%@ taglib uri="http://myfaces.apache.org/tomahawk" prefix="t"%>
<%@ taglib uri="http://myfaces.apache.org/sandbox" prefix="s"%>
<%@ page import="br.com.monisat.empresa.CadEmpresa"%>
<html>
<head>
<%@include file="../home/importar.jsp"%>
<script type="text/javascript">
function habilitaDiv() {
document.getElementById("jur").style.display = 'inline'
document.getElementById("fis").style.display = 'none'
}
function habilitaDiv2() {
document.getElementById("jur").style.display = 'none'
document.getElementById("fis").style.display = 'inline'
}
</script>
<style type="text/css">
.cont {
display: none;
}
.fis{
display: none;
}
</style>
</head>
<body>
<f:view>
<h:form id="form">
<div id="toolbar-home">
<div class="migalha">
<a href="../home/home.jsf">Inicio</a> > <a
href="../cadastros/menu.jsf">Cadastros</a> > <b>Empresas</b>
</div>
<%@include file="../home/sair.jsp"%>
<div class="clear"></div>
</div>
<f:verbatim>
<br>
</f:verbatim>
<t:div>
<h:panelGrid columns="1" width="800px">
<t:column>
<h:panelGrid columns="1">
<h:column>
<h:outputText value="Nome" />
</h:column>
<h:inputText size="80" id="nomeEmpresa" />
<h:column>
<h:panelGrid columns="2">
<t:column>
<h:panelGrid columns="1">
<h:column>
<h:outputText value="Fantasia" />
</h:column>
<h:inputText size="60" id="nomeFantasia" />
</h:panelGrid>
</t:column>
<t:column>
<h:panelGrid columns="1">
<h:column>
<h:outputText value="Cadastrado em" />
</h:column>
<h:inputText size="15" id="dataCadastro" />
</h:panelGrid>
</t:column>
</h:panelGrid>
</h:column>
<h:column>
<h:panelGrid columns="2">
<t:column>
<h:panelGrid columns="1">
<h:column>
<h:outputText value="Natureza" />
</h:column>
<h:selectOneMenu id="natureza" immediate="true" value="#{cadEmpresa.natureza}"
rendered="true" valueChangeListener="#{cadEmpresa.interpretaNatureza}"
onchange="submit()">
<f:selectItem itemValue="J" itemLabel="J-Juridica" />
<f:selectItem itemValue="F" itemLabel="F-Física" />
<a4j:support event="onchange" immediate="true" ajaxSingle="true"/>
</h:selectOneMenu>
</h:panelGrid>
</t:column>
<t:column>
<t:div id="jur" styleClass="jur">
<t:column>
<h:panelGrid columns="3">
<t:column>
<h:panelGrid columns="1">
<h:column>
<h:outputText value="CNPJ" />
</h:column>
<h:inputText size="15" id="cnpj" />
</h:panelGrid>
</t:column>
<t:column>
<h:panelGrid columns="1">
<h:column>
<h:outputText value="Insc. Estadual" />
</h:column>
<h:inputText size="15" id="inscEst" />
</h:panelGrid>
</t:column>
<t:column>
<h:panelGrid columns="1">
<h:column>
<h:outputText value="Insc. Municipal" />
</h:column>
<h:inputText size="15" id="inscMuni" />
</h:panelGrid>
</t:column>
</h:panelGrid>
</t:column>
</t:div>
<t:div id="fis" styleClass="fis">
<t:column>
<h:panelGrid columns="4">
<t:column>
<h:panelGrid columns="1">
<h:column>
<h:outputText value="Sexo" />
</h:column>
<h:selectOneMenu id="sexo" />
</h:panelGrid>
</t:column>
<t:column>
<h:panelGrid columns="1">
<h:column>
<h:outputText value="CPF" />
</h:column>
<h:inputText size="15" id="cpf" />
</h:panelGrid>
</t:column>
<t:column>
<h:panelGrid columns="1">
<h:column>
<h:outputText value="RG" />
</h:column>
<h:inputText size="15" id="rg" />
</h:panelGrid>
</t:column>
<t:column>
<h:panelGrid columns="1">
<h:column>
<h:outputText value="Estado Civil" />
</h:column>
<h:selectOneMenu id="estadoCivil" />
</h:panelGrid>
</t:column>
</h:panelGrid>
</t:column>
</t:div>
</t:column>
</h:panelGrid>
</h:column>
<h:column>
<h:panelGrid columns="4">
<h:panelGrid columns="1">
<h:outputLabel value="Telefone" />
<h:inputText id="telefone" size="15" />
</h:panelGrid>
<h:panelGrid columns="1">
<h:outputLabel value="Celular" />
<h:inputText id="celular" size="15" />
</h:panelGrid>
<h:panelGrid columns="1">
<h:outputLabel value="Fax" />
<h:inputText id="fax" size="15" />
</h:panelGrid>
<h:panelGrid columns="1">
<h:outputLabel value="Contato" />
<h:inputText id="contato" size="25" />
</h:panelGrid>
</h:panelGrid>
</h:column>
</h:panelGrid>
</t:column>
</h:panelGrid>
</t:div>
</h:form>
</f:view>
<script type="text/javascript">
function validar() {
var list = new Lista("form");
list.add("nome", "Nome");
list.add("cpf", "Cpf");
list.add("apelido", "Apelido");
list.add("dataNasc", "Data Nascimento");
list.add("cidade", "Cidade");
list.add("rg", "RG");
list.add("cnh", "CNH");
return valida(list);
}
function validar2() {
var list = new Lista("form");
list.add("cpf", "Cpf");
return valida(list);
}
<%CadEmpresa empresa = new CadEmpresa();%>
<script type="text/javascript">
<%if (!empresa.verificaNatureza() == true) {%>
habilitaDiv2();
<%} else {%>
habilitaDiv();
<%}%>
</script>
</body>
</html>
Bean
package br.com.monisat.empresa;
import javax.faces.event.ValueChangeEvent;
public class CadEmpresa extends CadEmpresaForm {
private String natureza = "";
Boolean status = null;
public CadEmpresa() {
}
public String getNatureza() {
return natureza;
}
public void setNatureza(String natureza) {
this.natureza = natureza;
}
public Boolean getStatus() {
return status;
}
public void setStatus(Boolean status) {
this.status = status;
}
public void interpretaNatureza(ValueChangeEvent event){
natureza = (String) event.getNewValue();
carregaTela();
}
private String carregaTela() {
return "cadEmpresa";
}
public Boolean verificaNatureza() {
status = null;
if (natureza.contains("J")) {
status = true;
} else {
status = false;
}
return status;
}
}
Estou com o projeto parado aqui… :roll:
Cordialmente
Diego Silva
