Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Select dependiente no envía valores por get o post

Estas en el tema de Select dependiente no envía valores por get o post en el foro de PHP en Foros del Web. Que tal señores, voy a aclarar un poquito mas mi duda o problema: Tengo dos select, el primero se carga de la base de datos ...
  #1 (permalink)  
Antiguo 07/04/2015, 15:43
Avatar de scorpion3d  
Fecha de Ingreso: mayo-2011
Mensajes: 92
Antigüedad: 12 años, 11 meses
Puntos: 19
Select dependiente no envía valores por get o post

Que tal señores, voy a aclarar un poquito mas mi duda o problema:

Tengo dos select, el primero se carga de la base de datos directamente, cuando selecciono una opción el segundo select se llena a partir del valor del primero, hasta ahí todo bien.

El problema es cuando le doy enviar al formulario, la página que recibe los valores, no recibe la variable proveniente del segundo select, ni por get ni por post.

Este es mi formulario (formulario.php):

Código PHP:
<form id="form1" name="form1" method="POST" action="guardar.php">
//EL PRIMER SELECT

<select id="departamento" name="departamento" onchange="mostrarMunicipios()">
<option value="">Seleccionar...</option>
<?php
$rs_prov 
mysql_query("SELECT id,nombre FROM departamentos ORDER BY nombre ASC");
while(
$row_prov mysql_fetch_assoc($rs_prov)){
 
?>                        
<option value="<?php echo $row_prov['id']; ?>"><?php echo $row_prov['nombre']; ?></option>
<?php ?>                          
</select>

//EL SEGUNDO SELECT
<div id="listado_municipios">
<select name="municipio">
<option value="">Seleccionar...</option>
</select>
</div>

<input type="submit" name="button2" id="button2" value="guardar" />
</form>
Esta es la pagina ajax (ajax.js):

Código PHP:
// JavaScript Document
    
function objetoAjax(){
        var 
xmlhttp=false;
        try {
            
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (
e) {
            try {
               
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (
E) {
                
xmlhttp false;
            }
        }
     
        if (!
xmlhttp && typeof XMLHttpRequest!='undefined') {
            
xmlhttp = new XMLHttpRequest();
        }
        return 
xmlhttp;
    }
     
    
//==================
    
function mostrarMunicipios(){
     
        
divResultado document.getElementById('listado_municipios');
        
depto=document.getElementById('departamento').value;
     
        
ajax=objetoAjax();
        
ajax.open("POST""lista_municipios.php");
        
ajax.onreadystatechange=function() {
            if (
ajax.readyState==4) {
                
divResultado.innerHTML ajax.responseText
            
}
        }
        
ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
        
ajax.send("id_departamento="+depto)
    } 
la pagina que crea el segundo select (lista_municipios.php):
Código PHP:
<?php include('connection/connection.php'); ?>
<select name='municipio'>
<option value="">Seleccionar...</option>"
<?php

$query_municipios 
mysql_query("SELECT id,nombre FROM municipios WHERE id_departamento = '".$_POST['id_departamento']."' ORDER BY nombre ASC");
$municipios mysql_fetch_assoc($query_municipios);
 do{ 
?>
<option value="<?php echo $municipios['id']; ?><?php if($participantes['municipio'] == $municipios['id']){echo 'selected="selected"';}?>><?php echo $municipios['nombre']; ?></option>
<?php } while ($municipios mysql_fetch_assoc($query_municipios)); ?>                      
</select>

Por ultimo la pagina que debería mostrar los resultados (guardar.php):

Código PHP:
echo $_POST['departamento'];
echo 
$_POST['municipio']; 
Aclaro que los select funcionan bien, muestran los valores filtrados y todo, el problema es a la hora de enviar esos valores a otra pagina, el primer select envia sin problemas su variable respectiva, pero el segundo ni siquiera envía la variable, lo probé en get para ver en la URL que es lo que mandaba pero solo está enviado la variable departamento.

Ya investigué y no he dado con la solución, el problema al parecer está en la forma que cargo el segundo select, lo mustra en el formulario pero a la hora de enviarlo es como si nunca hubiera existido.

Gracias de ante mano.
__________________
www.elias.com.sv
  #2 (permalink)  
Antiguo 07/04/2015, 15:57
(Desactivado)
 
Fecha de Ingreso: abril-2015
Ubicación: España
Mensajes: 616
Antigüedad: 9 años
Puntos: 74
Respuesta: Select dependiente no envía valores por get o post

para hacer ajax, mejor que utilices jQuery. Es mucho más fácil.
  #3 (permalink)  
Antiguo 07/04/2015, 16:01
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 15 años, 6 meses
Puntos: 175
Respuesta: Select dependiente no envía valores por get o post

Si no envia, es porque no existe...

Carga ambos selects, y verifica en el navegador el codigo fuente a ver que valores estas pasando por los VALUES de los options...
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...
  #4 (permalink)  
Antiguo 07/04/2015, 16:04
Avatar de scorpion3d  
Fecha de Ingreso: mayo-2011
Mensajes: 92
Antigüedad: 12 años, 11 meses
Puntos: 19
Respuesta: Select dependiente no envía valores por get o post

Quería resolverlo por Ajax por si me topo con el mismo inconveniente, voy a probar con JQuery, pero me gustaría poder resolverlo como está, voy a seguir investigando y si consigo la solución lo posteo acá mismo
__________________
www.elias.com.sv
  #5 (permalink)  
Antiguo 07/04/2015, 16:11
Avatar de scorpion3d  
Fecha de Ingreso: mayo-2011
Mensajes: 92
Antigüedad: 12 años, 11 meses
Puntos: 19
Respuesta: Select dependiente no envía valores por get o post

Cita:
Iniciado por loncho_rojas Ver Mensaje
Si no envia, es porque no existe...

Carga ambos selects, y verifica en el navegador el codigo fuente a ver que valores estas pasando por los VALUES de los options...
Muy cierto, visualmento ambos select aparecen en pantalla y funcionan, pero al darle ver codigo fuente de la pagina no se muestra el segundo, aunque haya seleccionado uno de los municipios.

No se como solucionarlo
__________________
www.elias.com.sv
  #6 (permalink)  
Antiguo 07/04/2015, 17:35
Avatar de scorpion3d  
Fecha de Ingreso: mayo-2011
Mensajes: 92
Antigüedad: 12 años, 11 meses
Puntos: 19
Respuesta: Select dependiente no envía valores por get o post

Bueno al final mejor lo programé por JQuery, creería que el inconveniente en el caso de ajax es que requiere del parametro global ON, pero no me quise meter a modificar esa configuración.

Gracias por los comentarios!
__________________
www.elias.com.sv

Etiquetas: dependiente, formulario, html, mysql, post, select, variable
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:40.