I'm basically trying to use value from a select returned via ajax with switch case. This switch case must be on the same send form page using the select value for a specific case.
My script perfectly returns the value of select via ajax. The only problem is that I can not use this value in the switch case on the current page because the value of $ _ POST ["aaa"] is not recognized. >
I've tried to redirect to the same page using url: this.action in ajax but I did not succeed.
Here's a step-by-step step-by-step guide that I need, and then the script.
index.php
<div class="container">
<form method ="" id="formStart" class="formStart" enctype="multipart/form-data">
<h2 style='color:blue'>Escolha o tipo de anúncio:</h2>
<select name="aaa" id="valorSel" >
<option value="-1">Selecionar...</option>
<option value="1">Imóveis</option>
<option value="2">Veículos</option>
<option value="3">Produtos</option>
</select>
<!-- <input type="Submit" name="submit" value="Next step" /> -->
<br><br>
</form>
<br>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script><script>$("#formStart").change(function(event){
$("#formHide").show(); // exibir o form principal (oculto)
event.preventDefault();
$.ajax({
data: $(this).serialize(),
url: "retorno.php",
type: "POST",
dataType: "html",
success: function(data){
$("#resultado").html(data);
},
error: function(){
alert("Problema ao carregar a solicitação via Ajax.");
}
});
});
</script>
<div id="resultado"></div>
<div id="formHide" style="display:none;">
<form action="<?php echo esc_url( $action ); ?>" method="post" id="submit-form" class="submit-form" enctype="multipart/form-data">
<?php
// Usar o valor do select retornado via ajax pela página "retorno.php" como switch case
switch ($_POST["aaa"]) {
case 1:
echo "Imóveis"; // Para testes adicionei um echo e comentei os includes por enquanto.
//include "imoveis.php";
break;
case 2:
echo "Veículos";
//include "veiculos.php";
break;
case 3:
echo "Produtos";
//include "produtos.php";
break;
case -1:
echo "Por favor escolha uma opção.";
break;
default:
echo "Nada foi selecionado ainda. Por favor escolha uma opção.";
break;
}
?>
</form>
</div>
return.php
<?php
if (isset($_POST['aaa'])) {
echo $_POST['aaa'];
} else {
echo "Não retornou nenhum valor com ajax.";
}
Thanks in advance for your attention!