Solucionado (ver solução)
Solucionado
(ver solução)
29
respostas

Problema ao salvar um campo <select>

Estou com problema para salvar um campo select...

No meu TranportadoraDao o método está dessa forma:

    public void salva(Transportadora transportadora) {
        manager.getTransaction().begin();
        if (transportadora.getNumCadastro() == 0) {
            manager.persist(transportadora);
        } else {
            manager.merge(transportadora);
        }
        manager.getTransaction().commit();
        manager.close();
    }

E o select no meu formulario.jsp:

                    <span>UF:</span>
                    <select name="transportadora.endEst" id="endEst" class="form-control">
                    <option>
                        <c:forEach items="${siglaEstados}" var="siglaEstado">
                            <option value="${siglaEstado.sigla}">${siglaEstado.sigla}</option>
                        </c:forEach>
                    </option>
                    </select>
29 respostas

poste o modelo da classe Transportadora.

Classe modelo:

package br.com.ebf.modelo;

import java.util.Calendar;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

import org.hibernate.validator.constraints.Email;

@Entity
@Table(name = "TAB_TRANSPORTADORA")
public class Transportadora {

    @Id
    @Column(name = "num_cadastro", length = 7)
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    // @GeneratedValue(strategy = GenerationType.SEQUENCE) //ORACLE
    private int numCadastro;

    @Column(name = "num_cad_antigo", length = 50)
    private int numCadAntigo;

    @Temporal(TemporalType.DATE)
    @Column(name = "data_cadastro")
    private Date dataCadastro = new Date(System.currentTimeMillis());

    @Column(length = 40)
    private String nome;

    @Column(length = 20)
    private String cnpj;

    @Column(name = "insc_est", length = 20)
    private String inscEst;

    @Column(name = "end_rua", length = 100)
    private String endRua;

    @Column(name = "end_num", length = 10)
    private String endNum;

    @Column(name = "end_compl", length = 50)
    private String endCompl;

    @Column(name = "end_bair", length = 50)
    private String endBair;

    @Column(name = "end_cid", length = 100)
    private String endCid;

    @Column(name = "end_est", length = 2)
    private String endEst;

    @Column(name = "end_cep", length = 10)
    private String endCep;

    @Column(name = "end_pais", length = 50)
    private String endPais;

    @Column(name = "end_ddd", length = 5)
    private String endDDD;

    @Column(name = "end_tel", length = 50)
    private String endTel;

    @Column(name = "end_fax", length = 50)
    private String endFax;

    @Email
    @Column(name = "end_email", length = 100)
    private String endEmail;

    @Column(length = 200)
    private String observ;

    @Temporal(TemporalType.DATE)
    @Column(name = "data_alteracao")
    private Date dataAlteracao = Calendar.getInstance().getTime();

    @Column(name = "user_alteracao", length = 4)
    private String userAlteracao;

    @Column(columnDefinition = "char(1) default 'S'")
    private char ativo;

    public int getNumCadastro() {
        return numCadastro;
    }

    public void setNumCadastro(int numCadastro) {
        this.numCadastro = numCadastro;
    }

    public int getNumCadAntigo() {
        return numCadAntigo;
    }

    public void setNumCadAntigo(int numCadAntigo) {
        this.numCadAntigo = numCadAntigo;
    }

    public Date getDataCadastro() {
        return dataCadastro;
    }

    public void setDataCadastro(Date dataCadastro) {
        this.dataCadastro = dataCadastro;
    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public String getCnpj() {
        return cnpj;
    }

    public void setCnpj(String cnpj) {
        this.cnpj = cnpj;
    }

    public String getInscEst() {
        return inscEst;
    }

    public void setInscEst(String inscEst) {
        this.inscEst = inscEst;
    }

    public String getEndRua() {
        return endRua;
    }

    public void setEndRua(String endRua) {
        this.endRua = endRua;
    }

    public String getEndNum() {
        return endNum;
    }

    public void setEndNum(String endNum) {
        this.endNum = endNum;
    }

    public String getEndCompl() {
        return endCompl;
    }

    public void setEndCompl(String endCompl) {
        this.endCompl = endCompl;
    }

    public String getEndBair() {
        return endBair;
    }

    public void setEndBair(String endBair) {
        this.endBair = endBair;
    }

    public String getEndCid() {
        return endCid;
    }

    public void setEndCid(String endCid) {
        this.endCid = endCid;
    }

    public String getEndEst() {
        return endEst;
    }

    public void setEndEst(String endEst) {
        this.endEst = endEst;
    }

    public String getEndCep() {
        return endCep;
    }

    public void setEndCep(String endCep) {
        this.endCep = endCep;
    }

    public String getEndPais() {
        return endPais;
    }

    public void setEndPais(String endPais) {
        this.endPais = endPais;
    }

    public String getEndDDD() {
        return endDDD;
    }

    public void setEndDDD(String endDDD) {
        this.endDDD = endDDD;
    }

    public String getEndTel() {
        return endTel;
    }

    public void setEndTel(String endTel) {
        this.endTel = endTel;
    }

    public String getEndFax() {
        return endFax;
    }

    public void setEndFax(String endFax) {
        this.endFax = endFax;
    }

    public String getEndEmail() {
        return endEmail;
    }

    public void setEndEmail(String endEmail) {
        this.endEmail = endEmail;
    }

    public String getObserv() {
        return observ;
    }

    public void setObserv(String observ) {
        this.observ = observ;
    }

    public Date getDataAlteracao() {
        return dataAlteracao;
    }

    public void setDataAlteracao(Date dataAlteracao) {
        this.dataAlteracao = dataAlteracao;
    }

    public String getUserAlteracao() {
        return userAlteracao;
    }

    public void setUserAlteracao(String userAlteracao) {
        this.userAlteracao = userAlteracao;
    }

    public char getAtivo() {
        return ativo;
    }

    public void setAtivo(char ativo) {
        this.ativo = ativo;
    }
}

Ewerton

repare que tem um option dentro do outro aqui:

<select name="transportadora.endEst" id="endEst" class="form-control">
    <option>
    <c:forEach items="${siglaEstados}" var="siglaEstado">
        <option value="${siglaEstado.sigla}">${siglaEstado.sigla}</option>                  
    </c:forEach>
    </option>
</select>

experimente mudar para:

<select name="transportadora.endEst" id="endEst" class="form-control">
    <c:forEach items="${siglaEstados}" var="siglaEstado">
        <option value="${siglaEstado.sigla}">${siglaEstado.sigla}</option>
    </c:forEach>
</select>

Rodrigo alterei, conforme vc me orientou, mas não resolveu...

Percebi que o select é preenchido com o primeiro registro do select... Estava ficando com o primeiro "vazio" e depois era preenchido, com os registros do select...

Quando eu salvo a Cidade, Estado e Pais, ficam em branco na listagem... Dei um select e eles estão como nulos...

OBS.: A questão da listagem não estar sendo preenchida, consegui resolver... Agora só não está sendo preenchido msm os atributos que vem dos combos...

Alguma ideia pessoal ??

Qual o erro que você esta tendo?

Ewerton no banco de dados os campos referente aos selects estão sendo salvos com valores ou esta indo nulo ?

Bom dia Alisson e Matheus!!

Estão nulos...

Certo, vamos por partes...

Primeiro: Após abrir o formulário dê um "Inspect" no select e veja se o value dos options estão com valores, verifique também se não possui inputs(select e input) com nomes repetidos referente ao estado e cidade.

Segundo: Suba a aplicação em modo debug e pare antes de salvar o objeto no banco de dados, verifique se o atributo referente aos mesmos estão com valores ou não, caso prefira pode dar um sysout no atributos dentro do método salvar em vez de debugar.

Terceiro: Veja no console do eclipse o insert que o Hibernate montou, veja se contém todos os campos certinhos.

Boa tarde Matheus! Carreguei o formulário, e cliquei com direito em "inspecionar" no campo do select, o value ESTÁ preenchido...

Verifiquei e havia um input com nome "repetido", corrigi esse problema...

No método "salva" dei um syso no getCidade e getEstado e foi preenchido o valor na msg...

Dei um clear no log do console e cliquei em salvar, não encontrie "ERRO"... Gravou o registro, porém sem as informações dos select´s:

14:45:29,921  WARN [JstlLocalization    ] couldn't find message bundle, creating an empty one
java.util.MissingResourceException: Can't find bundle for base name messages, locale pt_BR
    at java.util.ResourceBundle.throwMissingResourceException(Unknown Source)
    at java.util.ResourceBundle.getBundleImpl(Unknown Source)
    at java.util.ResourceBundle.getBundle(Unknown Source)
    at br.com.caelum.vraptor.core.JstlLocalization.extractUnsafeBundle(JstlLocalization.java:78)
    at br.com.caelum.vraptor.core.JstlLocalization.getBundle(JstlLocalization.java:69)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.jboss.weld.injection.MethodInjectionPoint.invokeOnInstanceWithSpecialValue(MethodInjectionPoint.java:93)
    at org.jboss.weld.injection.MethodInjectionPoint.invokeOnInstance(MethodInjectionPoint.java:86)
    at org.jboss.weld.injection.producer.ProducerMethodProducer.produce(ProducerMethodProducer.java:96)
    at org.jboss.weld.injection.producer.AbstractMemberProducer.produce(AbstractMemberProducer.java:151)
    at org.jboss.weld.bean.AbstractProducerBean.create(AbstractProducerBean.java:183)
    at org.jboss.weld.context.unbound.DependentContextImpl.get(DependentContextImpl.java:69)
    at org.jboss.weld.manager.BeanManagerImpl.getReference(BeanManagerImpl.java:733)
    at org.jboss.weld.manager.BeanManagerImpl.getReference(BeanManagerImpl.java:789)
    at org.jboss.weld.injection.ParameterInjectionPointImpl.getValueToInject(ParameterInjectionPointImpl.java:76)
    at org.jboss.weld.injection.ConstructorInjectionPoint.getParameterValues(ConstructorInjectionPoint.java:138)
    at org.jboss.weld.injection.ConstructorInjectionPoint.newInstance(ConstructorInjectionPoint.java:68)
    at org.jboss.weld.injection.producer.AbstractInstantiator.newInstance(AbstractInstantiator.java:28)
    at org.jboss.weld.injection.producer.BasicInjectionTarget.produce(BasicInjectionTarget.java:85)
    at org.jboss.weld.injection.producer.BeanInjectionTarget.produce(BeanInjectionTarget.java:183)
    at org.jboss.weld.bean.ManagedBean.create(ManagedBean.java:149)
    at org.jboss.weld.context.AbstractContext.get(AbstractContext.java:96)
    at org.jboss.weld.bean.proxy.ContextBeanInstance.getInstance(ContextBeanInstance.java:98)
    at org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:78)
    at br.com.caelum.vraptor.validator.DefaultValidator$Proxy$_$$_WeldClientProxy.addAll(Unknown Source)
    at br.com.caelum.vraptor.observer.ParametersInstantiator.instantiate(ParametersInstantiator.java:91)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.jboss.weld.injection.MethodInjectionPoint.invokeOnInstanceWithSpecialValue(MethodInjectionPoint.java:93)
    at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:266)
    at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:253)
    at org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:232)
    at org.jboss.weld.event.ObserverNotifier.notifyObserver(ObserverNotifier.java:169)
    at org.jboss.weld.event.ObserverNotifier.notifyObserver(ObserverNotifier.java:165)
    at org.jboss.weld.event.ObserverNotifier.notifyObservers(ObserverNotifier.java:119)
    at org.jboss.weld.event.ObserverNotifier.fireEvent(ObserverNotifier.java:112)
    at org.jboss.weld.event.EventImpl.fire(EventImpl.java:83)
    at br.com.caelum.vraptor.core.DefaultInterceptorStack.start(DefaultInterceptorStack.java:90)
    at br.com.caelum.vraptor.core.DefaultInterceptorStack$Proxy$_$$_WeldClientProxy.start(Unknown Source)
    at br.com.caelum.vraptor.observer.RequestHandlerObserver.handle(RequestHandlerObserver.java:93)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.jboss.weld.injection.MethodInjectionPoint.invokeOnInstanceWithSpecialValue(MethodInjectionPoint.java:93)
    at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:266)
    at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:253)
    at org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:232)
    at org.jboss.weld.event.ObserverNotifier.notifyObserver(ObserverNotifier.java:169)
    at org.jboss.weld.event.ObserverNotifier.notifyObserver(ObserverNotifier.java:165)
    at org.jboss.weld.event.ObserverNotifier.notifyObservers(ObserverNotifier.java:119)
    at org.jboss.weld.event.ObserverNotifier.fireEvent(ObserverNotifier.java:112)
    at org.jboss.weld.event.EventImpl.fire(EventImpl.java:83)
    at br.com.caelum.vraptor.VRaptor.doFilter(VRaptor.java:123)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:108)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
    at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:620)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:349)
    at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:783)
    at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
    at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:789)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1455)
    at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.lang.Thread.run(Unknown Source)
Cidade: CERES
Estado: PE
Hibernate: 
    insert 
    into
        TAB_TRANSPORTADORA
        (ativo, cnpj, data_alteracao, data_cadastro, end_bair, end_cep, end_cid, end_compl, end_ddd, end_email, end_est, end_fax, end_num, end_pais, end_rua, end_tel, insc_est, nome, num_cad_antigo, observ, user_alteracao) 
    values
        (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
14:45:30,001 ERROR [Bean                ] WELD-000019: Error destroying an instance org.hibernate.jpa.internal.EntityManagerImpl@6b1e6d96 of Producer Method [EntityManager] with qualifiers [@Any @Default] declared as [[BackedAnnotatedMethod] @Produces @RequestScoped public br.com.ebf.infra.JPAUtil.getEntityManager()]
Hibernate: 
    select
        transporta0_.num_cadastro as num_cada1_5_,
        transporta0_.ativo as ativo2_5_,
        transporta0_.cnpj as cnpj3_5_,
        transporta0_.data_alteracao as data_alt4_5_,
        transporta0_.data_cadastro as data_cad5_5_,
        transporta0_.end_bair as end_bair6_5_,
        transporta0_.end_cep as end_cep7_5_,
        transporta0_.end_cid as end_cid8_5_,
        transporta0_.end_compl as end_comp9_5_,
        transporta0_.end_ddd as end_ddd10_5_,
        transporta0_.end_email as end_ema11_5_,
        transporta0_.end_est as end_est12_5_,
        transporta0_.end_fax as end_fax13_5_,
        transporta0_.end_num as end_num14_5_,
        transporta0_.end_pais as end_pai15_5_,
        transporta0_.end_rua as end_rua16_5_,
        transporta0_.end_tel as end_tel17_5_,
        transporta0_.insc_est as insc_es18_5_,
        transporta0_.nome as nome19_5_,
        transporta0_.num_cad_antigo as num_cad20_5_,
        transporta0_.observ as observ21_5_,
        transporta0_.user_alteracao as user_al22_5_ 
    from
        TAB_TRANSPORTADORA transporta0_

Muito estranho, se o objeto esta com valor no sysout então era para ter salvado, se possível sobe seu projeto em zip com a estrutura do banco de dados em um arquivo .sql em algum hospedador de arquivos que eu vejo aqui para você.

Blz Matheus... subi no drive...

=> https://drive.google.com/open?id=0B1n2t9Tjxu9GYk95Rmd2cVJydmM

Crie um database no MySQL chamado ebfvaz Importe o projeto_maven no Eclipse E qdo vc subir ele, clique por exemplo no Link "usuarios", depois listagem... O Hibernate irá criar as tabelas...

O problema está no cadastro de "Transportadoras"...

Obrigado!!

Fecho, chegando em casa eu ja vejo para você.

Assim que possível vou implementar via ajax, conforme vc me orientou... É que agora não posso msm, tenho que apresentá-lo URGENTE...

Obrigado pela atenção!!!

Um abraço!

Qualquer coisa eu te devolvo com um exemplo via ajax, ai você escolhe qual usar

Putz se vc puder fazer isso, te agradeço muito mesmo!!!

solução!

Ewerton, problema resolvido, vamos la:

Seu sistema esta funcionando corretamente, após cadastrar a transportadora e consultar os dados em sua tabela iremos ver os campos referente a CIDADE, ESTADO e PAIS populados:

select * from TAB_TRANSPORTADORA;

Então porque quando você editava um registro os selects ficavam vazios ? Porque faltou você chamar o método que busca os estados e cidades da mesma forma que faz no método formulário:

// método formulário com os códigos para popular os selects
public void formulario() {
    listaSEstados();
    listaNCidades();
}

// seu método para editar a transportadora
public void atualiza(int numCadastro, Result result) {
    Transportadora transportadora = transportadoraDao.buscaPorNumCadastro(numCadastro);
    result.include(transportadora);
    result.of(this).formulario();
}

// o correto seria adicionar os métodos para popular os selects
public void atualiza(int numCadastro, Result result) {
    listaSEstados();
    listaNCidades();
    Transportadora transportadora = transportadoraDao.buscaPorNumCadastro(numCadastro);
    result.include(transportadora);
    result.of(this).formulario();
}

Após adicionar os métodos listaSEstados() e listaNCidades() os selects irão ser populados.

Porém se você reparar nunca o estado ou cidade que você salvou no banco irão vim como selecionados no select após abrir o método para editar uma transportadora, isso ocorre porque ao contrario dos inputs a tag select não possui por padrão uma forma de trazer um value selecionado de acordo com o banco de dados.

Para resolver vamos ter que usar um pouco de javascript:

<script>
NodeList.prototype.forEach = Array.prototype.forEach; 
HTMLCollection.prototype.forEach = Array.prototype.forEach;

let selects = document.getElementsByTagName('select');
selects.forEach(select => {
    let input = document.getElementsByName(select.name + 'aux')[0];
    if (input != undefined) {
        let index = select.querySelector('option[value="' + input.value + '"]').index;
        select.options.selectedIndex = index;
    }
});
</script>

Fiz rapidinho apenas para ajeitar seu problema pois o código da para melhorar bem, basta adicionar a tag script antes de fechar o body.

E dentro do formulário devemos adicionar dois inputs hidden:

<input name="transportadora.endEstaux" type="hidden" value='${transportadora.endEst}">
<input name="transportadora.endCidaux" type="hidden" value='${transportadora.endCid}">

Para sabermos qual option do select deve vim selecionado.

Abraçooos, depois eu vejo se faço um exemplo via ajax para você.

Beleza Matheus deu certo!!

Muito obrigado pela atenção!!!

Encerro esse post, e abro um novo tipo "popular select com ajax" ? Pra vc poder me mandar o ajax...

Não querendo abusar da sua boa vontade, mas já abusando, vc poderia tirar uma dúvida sobre um outro post...

https://cursos.alura.com.br/forum/topico-bloquear-alteracao-na-data-de-cadastro-28725

Um grande abraço !!!

Isso, encerra esse tópico e ja abre outro que a gente faz o ajax.

Blz, muito obrigado e boa semana!!!

Matheus adicionei o JavaScript que vc criou no formulário da transportadora, porém quando eu seleciono uma transportadora na listagem e ela é carregada no formulario para alteração não é mantido a infromação de estado e cidade...

Desculpa Ewerton esqueci de informar os inputs hidden:

<input name="transportadora.endEstaux" type="hidden" value='${transportadora.endEst}">
<input name="transportadora.endCidaux" type="hidden" value='${transportadora.endCid}">

Adicione eles dentro do seu formulário.

Matheus adicionei os dois input´s hidden, mas não funcionou... Os select continuam sendo peenchidos com o primeiro item da lista do select...

                <div class="col-md-2">
                    <span>Departamento:</span>
                    <input type="hidden" name="usuario.departamentoAux" class="form-control" value="${usuario.departamento}"/>
                    <select name="usuario.departamento" id="departamento" class="form-control">
                        <c:forEach items="${nDepartamentos}" var="nDepartamento">
                            <option value="${nDepartamento.nome}">${nDepartamento.nome}</option>
                        </c:forEach>
                    </select>
                    <ebf:validationMessage name="usuario.departamento" />
                </div>

                <div class="col-md-3">
                    <span>Cargo:</span>
                        <input type="hidden" name="usuario.cargoAux" class="form-control" value="${usuario.cargo}"/>
                        <select name="usuario.cargo" id="cargo" class="form-control">
                            <c:forEach items="${nCargos}" var="nCargo">
                                <option value="${nCargo.nome}">${nCargo.nome}</option>
                            </c:forEach>
                        </select>
                    <ebf:validationMessage name="usuario.cargo" />
                </div>

OBS.: Testei no formulário de usuario...

Acho q o esquema é já fazer em JavaScript, pq ai já fica definitivo no sistema... Não sei como está seu tempo pra me ajudar nessa parte... Ai vc vê o q fica melhor, tentar acertar dessa forma, qq eu tento ganhar um tempo por aqui...

Ewerton, consigo fazer um exemplo simples para você, é que hoje eu tenho isso pronto com jQuery, porém estou tirando o jQuery dos meus projetos.

Se você conseguir esperar um pouco, provavelmente fds vou dar uma geral na minha biblioteca de javascript.

No seu caso, não deu certo os inputs hidden porque você informou o aux com "A" maisculo onde deve ver "a" minusculo, para funcionar basta adicionar o mesmo nome do select no input e no final concatenar "aux", exemplo:

<select name="cidade">
<input name="cidadeaux" type="hidden" value="${cidade}">

<select name="departamento">
<input name="departamentoaux" type="hidden" value="${departamento}">

Abraçooos.

Mudei o "A" para minúsculo, mas não resolveu Matheus...

Por enquanto vou apresentar assim msm, na vdd daqui a pouco...

Se vc puder ver algo pra mim no fds, eu também vou pesquisar, pra ter uma noção melhor do uso do JavaScript...

Grande abraço!! Muito obrigado!!

Bom dia Matheus! Vc conseguiu ver algo no fds ? Eu comecei a fazer o curso JavaScripst avançado... Mas parece que está fujindo um pouco do que eu estou querendo...

Ewerton, cria um tópico novo e manda o link aqui.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software