Enviar parámetros con un select usando javascript
De esta manera podemos enviar parámetros desde un select usando un poco de javascript, a esto también se le llama menú de salto ya que al seleccionar una opción automáticamente salta a otra pagina pasando los valores a la pagina buscar.php:
<select name="miselector" id="miselector" onchange="enviar_valores(this.value);"> <option value="">Seleccionar</option> <option value="coches">Coches</option> <option value="casas">Casas</option> </select> <script> function enviar_valores(valor){ //Pasa los parámetros a la pagina buscar location.href='buscar.php?valor=' + valor; } </script>En la pagina buscar.php lo recogemos así:
<?php //Recojemos el parámetro $valor=$_GET['valor']; echo $valor; ?>Saludos
0
Puntos
Puntos
8916
Visitas
Visitas
7
Resp
Resp
Por alber hace 102 meses
Administrador
Respuesta #1
excelente, pasar de una pagina a otra una variable sin necesidad de mucho codigo... pero como haria si quisiera pasar la variable a la misma pagina?
0
Puntos
Puntos
Por kevincs7 hace 69 meses
Principiante
Respuesta #2
kevincs7 dijo: excelente, pasar de una pagina a otra una variable sin necesidad de mucho codigo... pero como haria si quisiera pasar la variable a la misma pagina?intenta hacer así:
location.href='?valor=' + valor;salu2
0
Puntos
Puntos
Por alber hace 69 meses
Administrador
Respuesta #3
entonces en la misma pagina aumentaria este codigo?
<?php
$valor=$_GET['valor'];
echo $valor; ?>
<?php
$valor=$_GET['valor'];
echo $valor; ?>
0
Puntos
Puntos
Por kevincs7 hace 69 meses
Principiante
Respuesta #4
location.href hace referencia a la pagina en ejecución de ese momento y al no pasar un nombre de fichero los valores se envían dentro de esa misma url mediante GET (tuurl.com/?valor=mi_valor)
entonces para capturarlo es justo como dices, aunque no estaría de mas comprobar primero si ek valor GET ha sido enviado:
kevincs7 dijo: entonces en la misma pagina aumentaria este codigo?si en teoría
<?php
$valor=$_GET['valor'];
echo $valor; ?>
location.href hace referencia a la pagina en ejecución de ese momento y al no pasar un nombre de fichero los valores se envían dentro de esa misma url mediante GET (tuurl.com/?valor=mi_valor)
entonces para capturarlo es justo como dices, aunque no estaría de mas comprobar primero si ek valor GET ha sido enviado:
<?php if(isset($_GET['valor'])){ $valor=$_GET['valor']; echo $valor; } ?>
0
Puntos
Puntos
Por alber hace 69 meses
Administrador
Respuesta #5
chevre, si ejecuto normalmente... una consulta mas, en mi codigo que estoy realizando estoy buscando pasar dos select a la vez, en mi codigo que realizo pasa solo uno a la vez, osea si selecciono uno se desmarca el otro, y quisiera saber si pueden actuar a la vez, muchas gracias...
<select name="estado" id="estado" onchange="enviar_valores(this.value);">
<option value="">Seleccionar</option>
<option value="Cerrado">Cerrado</option>
<option value="Asignado">Asignado</option>
<option value="En Curso">En Curso</option>
</select>
<select name="dias" id="dias" onchange="enviar_valores2(this.value);">
<option value="">Seleccionar</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
<script>
function enviar_valores(valor){
location.href='?valor=' + valor;
}
</script>
<script>
function enviar_valores2(valor2){
location.href='?valor2=' + valor2;
}
</script>
<?php
if(isset($_GET['valor']))
{
$estado=$_GET['valor'];
echo $estado;
}
if(isset($_GET['valor2']))
{
$dia=$_GET['valor2'];
echo $dia;
? }
? >
<select name="estado" id="estado" onchange="enviar_valores(this.value);">
<option value="">Seleccionar</option>
<option value="Cerrado">Cerrado</option>
<option value="Asignado">Asignado</option>
<option value="En Curso">En Curso</option>
</select>
<select name="dias" id="dias" onchange="enviar_valores2(this.value);">
<option value="">Seleccionar</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
<script>
function enviar_valores(valor){
location.href='?valor=' + valor;
}
</script>
<script>
function enviar_valores2(valor2){
location.href='?valor2=' + valor2;
}
</script>
<?php
if(isset($_GET['valor']))
{
$estado=$_GET['valor'];
echo $estado;
}
if(isset($_GET['valor2']))
{
$dia=$_GET['valor2'];
echo $dia;
? }
? >
0
Puntos
Puntos
Por kevincs7 hace 69 meses
Principiante
Respuesta #6
salu2
kevincs7 dijo: chevre, si ejecuto normalmente... una consulta mas, en mi codigo que estoy realizando estoy buscando pasar dos select a la vez, en mi codigo que realizo pasa solo uno a la vez, osea si selecciono uno se desmarca el otro, y quisiera saber si pueden actuar a la vez, muchas gracias...abre un tema nuevo con tu pregunta si no te importa
salu2
0
Puntos
Puntos
Por alber hace 69 meses
Administrador
Respuesta #7
https://datoweb.com/post/3027/como-pasar-dos-variables-de-dos-select-a-un-php-en-una-misma-pagina
0
Puntos
Puntos
Por kevincs7 hace 69 meses
Principiante