Select without page refresh

1

I use a select to access multiple sites example: city-1, city-2, city-3, when I select the city the url is: www.mysite.com/city-1. I have tried to use ajax for the URL to be fixed at: www.mysite.com, but I did not succeed.

<?php 
switch ($_GET['cidade']) {
    case 'cidade-a':
        header('Location: /seletor/cidade-1.php');
        exit;

    case 'cidade-b':
        header('Location: /seletor/cidade-2.php');
        exit;

    case 'cidade-c':
        header('Location: /seletor/cidade-3.php');
        exit;
    // default:
    //     header('Location: /seletor/index.php');
    //     exit;

} ?>

<form action="cid.php" method="get">
    <select name="cidade" id="cidade">
        <option>Selecione</option>
        <option value="cidade-a">Cidade 1</option>
        <option value="cidade-b">Cidade 2</option>
        <option value="cidade-c">Cidade 3</option>
    </select>
  <input type="submit" name="submit" id="submit" class="botao" value="Ok">
</form>

Thank you very much for helping me.

    
asked by anonymous 08.01.2018 / 01:57

2 answers

1

You can load the selected page in select via POST after submit. Instead of doing switch to compare the value sent by select , put value in% of page names and change select to method :

<form action="cid.php" method="post">
    <select name="cidade" id="cidade">
        <option>Selecione</option>
        <option value="cidade-1">Cidade 1</option>
        <option value="cidade-2">Cidade 2</option>
        <option value="cidade-3">Cidade 3</option>
    </select>
  <input type="submit" name="submit" id="submit" class="botao" value="Ok">
</form>

Then you will get the value of post in select and pull $_POST :

<?php
$cidade = $_POST['cidade'];

if(!empty($cidade)){
   require('/seletor/'.$cidade.'.php');
}
?>

The complete code looks like this:

<?php
$cidade = $_POST['cidade'];

if(!empty($cidade)){
   require('/seletor/'.$cidade.'.php');
}
?>
<form action="cid.php" method="post">
    <select name="cidade" id="cidade">
        <option>Selecione</option>
        <option value="cidade-1">Cidade 1</option>
        <option value="cidade-2">Cidade 2</option>
        <option value="cidade-3">Cidade 3</option>
    </select>
  <input type="submit" name="submit" id="submit" class="botao" value="Ok">
</form>
    
08.01.2018 / 03:36
-1

You can not change the link, to use ajax, you have to change the static page information!

 if(cidade1){
  $('informacao1').val('suainformacao');
}else if(cidade2){
  {...}
}

I hope you have understood!

    
08.01.2018 / 03:12