Ir para conteúdo

Arquivado

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

Cyberlacs

Pegar o value de um select e jogar em variável php

Recommended Posts

Amigos tenho um select e gostaria te pegar o valor do value e fazer uma variável php receber este valor.

 

Estou querendo que o usuário selecione uma cidade ai o valor selecionado seja recebido por uma variável php, pois esta variável vou passar via URL para outra página.

Fico no aguardo, veja código abaixo de uma exemplificação.

<select onchange="test(this)" id="select_id">
        <option value="">Selecione uma cidade</option>
        <option value="Cidade_1">Cidade_1</option>
        <option value="Cidade_2">Cidade_2</option>
        <option value="Cidade_3">Cidade_3</option>
</select>

$variavelPHP = VALOR DO SELECT;

<a href='pagina_resposta.php?cidade=$variavelPHP'>Veja as Categorias de sua Cidade</a>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa, não faz sentido isso cara.

 

Vc deve fazer toda a manipulação com js.

<select onchange="test(this)" id="select_id">
  <option value="">Selecione uma cidade</option>
  <option value="Cidade_1">Cidade_1</option>
  <option value="Cidade_2">Cidade_2</option>
  <option value="Cidade_3">Cidade_3</option>
</select>


<a href="pagina_resposta.php?cidade=" id="lnk-city">Veja as Categorias de sua Cidade</a>


<script>
function test(el) {
  var $lnk = document.getElementById("lnk-city");
  $lnk.href = $lnk.href.replace(/cidade=(.*)/, 'cidade=') + el.value;
}
</script>
Tenha em mente que o php roda no servidor, então depois que a página foi carregada, vc só vai conseguir executar php novamente, depois que a página sofrer novamente uma requisição http.

E como vc está pensando em um evento realizado pelo usuário, então, a maneira de fazer, é com js puro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo William Bruno primeiramente quero lhe deseja tudo de bom para você.

DEUS lhe abençoe muito :)

Obrigado pela dica e deu certo já realizei um teste aqui e funcionou.

Fiquei muito contente por esta ajuda :) estou grato de coração meu amigo :)
Obrigado

e boas festas :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara posso ser muito burro e deve estar óbvio a resolução mais estou tentando fazer isso executando o replace para um onclick e não consigo. gostaria muito de sua ajuda.

Segue a mesma situação mais mostrando no onclick do button:

<select onchange="test(this)" id="select_id">
  <option value="">Selecione uma cidade</option>
  <option value="Cidade_1">Cidade_1</option>
  <option value="Cidade_2">Cidade_2</option>
  <option value="Cidade_3">Cidade_3</option>
</select>


<button id='mtodostipo' onclick="javascript:marcatodostipo;">Marcar Todos</button>


<script>
function test(el) {
  var $lnk = document.getElementById("mtodostipo");
  $lnk.onclick = $lnk.onclick.replace(/marcatodostipo(.*)/, 'marcatodostipo(' + el.value + ')');
}
</script>

Assim não roda o onclick.

Deve ser bem bobo, mais to quebrando a cabeça aqui.

Compartilhar este post


Link para o post
Compartilhar em outros sites

@adrigoli,

 

Ai não faz sentido, pq onclick é uma propriedade que recebe funções, e não strings.

 

Qual a sua necessidade ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muito obrigado pela resposta:

 

Quero enviar o valor selecionado no select para o onclick do button.

 

<button id='mtodostipo' onclick="javascript:marcatodostipo(VALOR_DO_SELECT_AQUI);">Marcar Todos</button>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ok, dessa forma não é possível diretamente.

Vc tem que percorrer alguns caminhos para fazer isso.

 

<script>
var TIPO = '';
function test(el) {
  TIPO = el.value;
}
</script>

<select onchange="test(this)" id="select_id">
  <option value="">Selecione uma cidade</option>
  <option value="Cidade_1">Cidade_1</option>
  <option value="Cidade_2">Cidade_2</option>
  <option value="Cidade_3">Cidade_3</option>
</select>


<button id="mtodostipo" onclick="marcatodostipo(TIPO);">Marcar Todos</button>
Eu criei uma variável global, e troquei o valor dela. Entendeu ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá, boa noite! Estou com uma dúvida relacionada ao input radio, fiz uma função pra gerar campos text e preciso ter o valor do text que o radio foi selecionado pra inserir no banco de dados, é um cadastro de uma prova (questões e respostas), então preciso adicionar os valores das respostas e a resposta correta, como posso pegar o valor da resposta correta? Estou apanhando pra isso faz um tempo já.. segue o código do formulário:

 

<script>
   function gerarCampos(r){
       campos="";
    for(i=0;i<r.value;i++){
        campos+="<input type='text' name='resposta"+i+"' placeholder='Escreva a resposta aqui.' >";
        campos+="<input type='radio' name='verdadeiro' value='ok'><br>"//se value='ok' então o campo é a resposta correta

    }
     document.getElementById("respostas").innerHTML=campos;
   }
   </script>

-----------------------------------------------------<form>-----------------------------------------------------------

 

<form action="../control/RespostasController.php" method="post">
                
                    <h3>Quantas respostas essa pergunta vai ter?</h3><br>
                    Marque a resposta correta.<br>
                    <select onchange="gerarCampos(this)" style="opacity: 0.35;">
                        <option value=""> </option>
                        <option value="1">1</option>
                        <option value="2">2</option>
                        <option value="3">3</option>
                        <option value="4">4</option>
                        <option value="5">5</option>
                    </select>
                    <div id="respostas"></div>
                    <input type="submit" value="Salvar" style="opacity: 0.5; color:black;width:70px; height:50px; ">
                      <input type="hidden" name="acao" value="1"></center>
                </form>

 

---------------------------------------------------------control-----------------------------------------------------------------

 

function prepararInsercao(){
          

            switch ($_POST["verdadeiro"]) {
                case 'ok':
                    $this->respostaC->setRespostaC($_POST[""]); // o que colocar aqui?

                    break;
                }
                for ($i=0; $i <$_POST["respts"] ; $i++) {
                    
                    if ($_POST["resposta".$i]!=null) {
                    $this->resposta->setResposta($_POST["resposta".$i]);
                    }

                }

                
            $this->dao->inserir($this->resposta);
        }

Se puderem me dar uma ajuda, agradeço!

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.