Foros del Web » Programando para Internet » PHP »

formulario

Estas en el tema de formulario en el foro de PHP en Foros del Web. hola a todos, quiero realizar un formulario en el cual quiero colocar dos select, y que uno dependa del otro es decir, segun lo que ...
  #1 (permalink)  
Antiguo 18/02/2010, 10:02
 
Fecha de Ingreso: octubre-2009
Mensajes: 75
Antigüedad: 14 años, 5 meses
Puntos: 0
Exclamación formulario

hola a todos,

quiero realizar un formulario en el cual quiero colocar dos select, y que uno dependa del otro es decir, segun lo que seleccione en el primer select del formulario, en el segundo select mostrará unas opciones u otras; esto como lo podría conseguir????

Un saludo y gracias.
  #2 (permalink)  
Antiguo 18/02/2010, 10:08
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: formulario

eso se logra con AJAX, y en el foro hay miles de ejemplos
  #3 (permalink)  
Antiguo 18/02/2010, 10:09
 
Fecha de Ingreso: febrero-2010
Mensajes: 818
Antigüedad: 14 años, 1 mes
Puntos: 55
Respuesta: formulario

con html+javascript
  #4 (permalink)  
Antiguo 18/02/2010, 10:47
 
Fecha de Ingreso: octubre-2009
Mensajes: 75
Antigüedad: 14 años, 5 meses
Puntos: 0
Pregunta Respuesta: formulario

Cita:
Iniciado por Death_Empire Ver Mensaje
con html+javascript
Con javascript lo he visto y creo que es el modo más facil de realizarlo, el problema que tengo añadido, es que los datos de los dos select los cojo de una base de datos y ahi es donde me quedo pillado realmente, alguien sabe de algun ejemplo práctico de lo que hablo??

un saludo y gracias.
  #5 (permalink)  
Antiguo 18/02/2010, 11:06
Avatar de Gulinaidas  
Fecha de Ingreso: febrero-2010
Ubicación: La Plata, ARG
Mensajes: 88
Antigüedad: 14 años, 1 mes
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

Etiquetas: formulario
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 20:23.