Tema: formulario
Ver Mensaje Individual
  #5 (permalink)  
Antiguo 18/02/2010, 11:06
Avatar de Gulinaidas
Gulinaidas
 
Fecha de Ingreso: febrero-2010
Ubicación: La Plata, ARG
Mensajes: 88
Antigüedad: 14 años, 2 meses
Puntos: 1
Respuesta: formulario

Como t dijieron, lo mas eficiente es usar AJAX para no tener q recargar la pagina al cargar el 2º select.....

Debes descargarte el archivo AJAX llamado "xajaxAIO.inc.php"....t muestro un ej sencillo de cuales son los pasos....El + comun es el tipico Pais y Provincia...

Código PHP:

require_once("xajax_core/xajaxAIO.inc.php");
    
$xajax = new xajax();

$xajax->registerFunction("getLocalidades_in_cmbLocalidad");

function 
getLocalidades_in_cmbLocalidad($idProvincia)
    {
        
$localidades = new ArrayObject();
        
        
$localidadDAO = new LocalidadDAO();
        
        
$localidades $localidadDAO->getLocalidadesByIdProvincia($idProvincia);
        
        
$print "<select name=\"cmbLocalidad\"> <option selected>Seleccione una localidad</option>";
        
        for(
$i 0$i $localidades->count(); $i++)
        {
            
$print.= "<option value='".$localidades[$i]->getIdLocalidad()."'>".$localidades[$i]->getNombre()."</option>";
        }
        
        
$print .= "</select>";
        
        
$respuesta = new xajaxResponse();
        
$respuesta->assign("localidades","innerHTML"$print);
        
//tenemos que devolver la instanciación del objeto xajaxResponse
        
return $respuesta;
    } 
En el <head> debes insertar esto para poder visualizar los datos...

Código PHP:
<?php $xajax->printJavascript(); ?>
y luego el formulario constaria de...

Código PHP:

<select name="cmbProvincia" onchange="xajax_getLocalidades_in_cmbLocalidad(this.value)" id="cmbProvincia">
                                <option>Seleccione una provincia</option>
                                <?php    
                                    getProvincias_in_cmbProvincia
();    //Tus provincias
                                
?>
                            </select>


<label>Localidad: </label>
                            <div id="localidades">
                                <select name="cmbLocalidad" id="cmbLocalidad">
                                    <option selected>Seleccione una localidad</option>
                
                                </select>    
                            </div>
                            </br>


Espero t sirva.....Saludos