Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

eriksonsr

Pegando o valor de um select preenchido com PHP

Recommended Posts

Bom dia! Galera eu tenho um select em que os options são preenchidos com PHP e preciso pegar o valor da opção que foi selecionada para montar uma consulta ao banco de dados,
porém eu não estou conseguindo pegar o valor do option. Este é o select em questão.

 

<select name="uf" id="uf">
                    <?php
                    $sql3="SELECT DISTINCT UF FROM municipios ORDER BY(UF)";
                    $selectUf=  mysql_query($sql3);
                    while($i= mysql_fetch_assoc($selectUf)){
                            $uf= $i['UF'];
                            $id= $i['id_municipio'];
                            echo "<option value='$id'>$uf</option>";
                     }  
                    ?>
                </select>

 



Já tente peguar destes modos:
1) var uf=document.getElementById("uf").options[document.getElementById(uf").selectedIndex].value;
2) var uf=document.getElementById("uf").innerText;
3) var uf=document.getElementById("uf").value
Porém nenhum deu certo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

assim:

var uf=document.getElementById("uf").value

funciona. Mas vc precisa esperar o DOM estar pronto para pegar um elemento dele.

Como vc tentou ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

De qual forma vc tentou ?

 

a sua tag script deve vir depois do html do select, ou vc deve usar algo para esperar o dom estar pronto, como dom.ready.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não sabia isto que o script tinha vir depois do html do select. Mas já consegui fazer o javaScript pergar o valor do select com esse código aqui:

 

var estado=document.getElementById("estadoo");
            var selecionada=estado.options[estado.options.selectedIndex];

 

Agora só preciso saber como passar o valor da variável do javaScript pro PHP.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não faz muito sentido isso.

 

Explique qual o objetivo final, ai podemos pensar em uma forma melhor de fazer.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então, eu tenho um elemento select em que os options dele são feitos apartir de um código PHP que faz uma consulta em uma tabela do banco dado e obtem os ufs dos estados, cada option é um uf criado a partir da consulta, isso está funcionando. Eu já to conseguindo pegar o valor do option selecionado via javascript, agora eu preciso pegar este valor que está em uma variável JavaScript e passar para o PHP para fazer uma nova consulta no banco pegando todas as cidades que tem naquele uf selecionado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vc vai precisar de ajax.

 

Com isso, vc vai fazer uma requisição http sem "refresh na tela".

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sem ajax, seria fazendo uma gambiarra com location.href, passando o valor do estado via query string, ai o php leria com $_GET

 

Com isso, vc teria um refresh na tela, e o cliente provavelmente perderia tudo oq já digitou.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vou dar uma pesquisada aqui em como fazer via ajax, vejamos se consigo.



Dei uma olhada aqui sobre Ajax, mas tudo que vi mostra como enviar o valor de uma variável javaScript para uma outra página PHP através de GET ou POST, porém no meu caso é a própria página onde tem o elemento select que iria receber o valor deste elemento select, para então fazer uma consulta no banco retornando todas as cidades daque estado, então só depois que o usuário selecionar a cidade é que os dados são enviados para outra página PHP que salva estas informações no banco.

É possível fazer isto com Ajax?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim, é possível.

 

Mas vc tá pensando errado.

Vc realmente vai enviar o valor para "outra página", essa vai te devolver o select, e vc injeta esse select na mesma página, já no retorno do ajax.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.