Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Formulario dinámico

Estas en el tema de Formulario dinámico en el foro de Frameworks JS en Foros del Web. buenas tardes, necesito una ayudita con un formulario dinámico. Llevo todo el día intentandolo y no lo consigo. El problema es el siguiente, tengo un ...
  #1 (permalink)  
Antiguo 08/09/2011, 10:14
 
Fecha de Ingreso: noviembre-2008
Ubicación: el sol
Mensajes: 146
Antigüedad: 15 años, 5 meses
Puntos: 6
Formulario dinámico

buenas tardes, necesito una ayudita con un formulario dinámico. Llevo todo el día intentandolo y no lo consigo. El problema es el siguiente, tengo un select (menu desplegable) que contiene una lista de marcas que extraigo de una db y quiero que cuando se seleccione una marca aparezca otro select que extrae de la db todos los modelos pertenecientes a esta marca. Para ello creo que hay que pasar las variables a través de javascript a php.

Mi código es el siguiente:
Código PHP:
echo "
Marca: <select name=\"marca\" onchange=\"this.form.submit()\">
<option value=\"\" select=\"selected\">Seleccione una marca...</option>"
;
$sql "SELECT id, marca
FROM marcas_telefonos
ORDER BY marca ASC"
;
$result=mysql_query($sql,$db);
while(
$myrow=mysql_fetch_array($result))
{
    
$idmarca $myrow['id'];
    
$marca $myrow['marca'];
    echo 
"<option value=\"$idmarca\">$marca</option>";
}
echo 
"</select><br /><br />";
echo 
"
Modelo: <select name=\"modelo\">
<option value=\"\" select=\"selected\">Seleccione un modelo...</option>"
;
$sql "SELECT id, modelo, precio1, precio2, precio3
FROM modelos_telefonos
WHERE idmarca='$idmarca' 
ORDER BY modelo ASC"
;
$result=mysql_query($sql,$db);
while(
$myrow=mysql_fetch_array($result))
{
    
$idmodelo $myrow['id'];
    
$modelo $myrow['modelo'];
    echo 
"<option value=\"$idmodelo\">$modelo</option>";
}
echo 
"</select>"
Espero puedan ayudarme y muchas gracias, un saludo!
  #2 (permalink)  
Antiguo 09/09/2011, 08:06
 
Fecha de Ingreso: noviembre-2008
Ubicación: el sol
Mensajes: 146
Antigüedad: 15 años, 5 meses
Puntos: 6
Respuesta: Formulario dinámico

Nadie puede ayudarme?
  #3 (permalink)  
Antiguo 10/09/2011, 06:02
 
Fecha de Ingreso: noviembre-2008
Ubicación: el sol
Mensajes: 146
Antigüedad: 15 años, 5 meses
Puntos: 6
Respuesta: Formulario dinámico

He conseguido un efecto sencillo para que el segundo select se muestre solo cuando tenga algo seleccionado en el primero. Ahora necesitaría saber como hacer para pasar el value del primer select a la consulta SQL para hacer la comprobación. No se si me explico, de momento lo tengo así:
<script>
$(document).ready(function(){
$("#mostrarcapa").change(function(evento){
evento.preventDefault();
$("#capaoculta").show(500);
});
})
</script>
Código PHP:
echo "
Marca: <select name=\"marca\" id=\"mostrarcapa\" >
<option value=\"\" select=\"selected\">Seleccione una marca...</option>"
;
$sql "SELECT id, marca
FROM marcas_telefonos
ORDER BY marca ASC"
;
$result=mysql_query($sql,$db);
while(
$myrow=mysql_fetch_array($result))
{
    
$idmarca $myrow['id'];
    
$marca $myrow['marca'];
    echo 
"<option value=\"$idmarca\">$marca</option>";
}
echo 
"</select><br /><br />";
echo 
"
<div id=\"capaoculta\" style=\"display: none;\">
Modelo: <select name=\"modelo\">
<option value=\"\" select=\"selected\">Seleccione un modelo...</option>"
;
$sql "SELECT id, modelo, precio1, precio2, precio3
FROM modelos_telefonos
WHERE idmarca='$idmarca' 
ORDER BY modelo ASC"
;
$result=mysql_query($sql,$db);
while(
$myrow=mysql_fetch_array($result))
{
    
$idmodelo $myrow['id'];
    
$modelo $myrow['modelo'];
    echo 
"<option value=\"$idmodelo\">$modelo</option>";
}
echo 
"</select></div>"
  #4 (permalink)  
Antiguo 10/09/2011, 19:31
 
Fecha de Ingreso: noviembre-2008
Ubicación: el sol
Mensajes: 146
Antigüedad: 15 años, 5 meses
Puntos: 6
Respuesta: Formulario dinámico

Vale, he conseguido hacerlo, pero de la sigueinte manera. Creando el option en otro archivo nuevo y cargandolo mediante jquery con el post pasar el id. De la sigueinte manera.

Código PHP:
Marca: <select name="marca\" id=\"mostrarcapa\" >
<option value=\"\" select=\"selected\">Seleccione una marca...</option>"
;
$sql "SELECT id, marca
FROM marcas_telefonos
ORDER BY marca ASC"
;
$result=mysql_query($sql,$db);
while(
$myrow=mysql_fetch_array($result))
{
    
$idmarca $myrow['id'];
    
$marca $myrow['marca'];
    echo 
"<option value=\"$idmarca\">$marca</option>";
}
echo 
"</select><br /><br />";
echo 
"
<div id=\"capaoculta\" style=\"display: none;\">
Modelo: <select name=\"sel-modelo\" id=\"sel-modelo\">"
;
echo 
"</select></div>"
Código PHP:
<?php ////CONEXI�N A LA BASE DE DATOS////
$dbhost 
$username 
$password 
$dbdata =
$dominio 

$db=mysql_connect ($dbhost$username$password);
mysql_select_db ($dbdata,$db);
echo 
"<option value=\"\" select=\"selected\">Seleccione un modelo...</option>";
$id=$_REQUEST["id"];
$sql "SELECT id, modelo, precio1, precio2, precio3
FROM modelos_telefonos
WHERE idmarca='$id' 
ORDER BY modelo ASC"
;
$result=mysql_query($sql,$db);
while(
$myrow=mysql_fetch_array($result))
{
    
$idmodelo $myrow['id'];
    
$modelo $myrow['modelo'];
    echo 
"<option value=\"$idmodelo\">$modelo</option>";
}
?>
Código PHP:
$(document).ready(function(){
        $(
"#mostrarcapa").change(function(evento){
            
evento.preventDefault();
            $(
"#capaoculta").show(500);
            $.
post("insertar_liberacion2.php",{ id:$(this).val() },function(data){$("#sel-modelo").html(data);})
        });
    }) 
Mi pregunta es, es posible hacerlo sin tener que separar el combo que es dependiente en otro archivo, es decir, que este en el mismo archivo php. ¿O el metodo $.post de jquery requiere que se carge de otro documento?

Espero alguna respuesta, gracias (ya que estos días las respuestas que me han dado para ayudarme han sido escasas xd)...

Un saludo
  #5 (permalink)  
Antiguo 11/09/2011, 18:33
 
Fecha de Ingreso: noviembre-2008
Ubicación: el sol
Mensajes: 146
Antigüedad: 15 años, 5 meses
Puntos: 6
Respuesta: Formulario dinámico

porque nadie contesta?? porque no me ayudais? :S
  #6 (permalink)  
Antiguo 11/09/2011, 18:38
Avatar de jatg  
Fecha de Ingreso: abril-2011
Ubicación: caracas
Mensajes: 152
Antigüedad: 13 años
Puntos: 15
Respuesta: Formulario dinámico

hola, codek a ver si te entiendo tu lo que quieres es un formulario que haga una consulta y extraiga de tu base de datos los resultados de las marcas introducidas en tu base de datos , ahora la pregunta es la siguiente solamente quieres que extraiga informacion o quieres que tambien tenga la posibilidad de insertar otras marcas y que estas se actualizen a tu busqueda?.

si es asi dime para explicarte como hacerlo paso a paso y sin necesidad de tanto codigo.

atentamente

ingeniero:
jose alexis trujillo

carcas-venezuela
__________________
www.josealexis.net
  #7 (permalink)  
Antiguo 12/09/2011, 14:02
 
Fecha de Ingreso: noviembre-2008
Ubicación: el sol
Mensajes: 146
Antigüedad: 15 años, 5 meses
Puntos: 6
Respuesta: Formulario dinámico

Buenas, ante todo, gracias por contestar.
Mira lo que quiero es hacer un formulario con el cual se va a insertar información a una base de datos. Por lo tanto, tengo un select para seleccionar un cliente, tengo un select para seleccionar una marca y con el evento change de jquery me muestra una capa oculta (show) con un formulario que se carga con jquery con $.post y envio un id para que eneste formulario aparezcan los telefonos que pertenecen a la marca seleccionada.
Ahora bien, queria saber si:
- ¿Es imprescindible que para mandar datos por jquery sea necesario tener el formulario en otro archivo .php?
- Quiero que todos estos datos luego se inserten a la base de datos, ¿voy por buen camino?.

Espero su respuesta y muchas gracias, un saludo.
  #8 (permalink)  
Antiguo 15/09/2011, 06:10
 
Fecha de Ingreso: noviembre-2008
Ubicación: el sol
Mensajes: 146
Antigüedad: 15 años, 5 meses
Puntos: 6
Respuesta: Formulario dinámico

nadie puede ayudarme?
  #9 (permalink)  
Antiguo 15/09/2011, 08:30
 
Fecha de Ingreso: diciembre-2009
Ubicación: Misiones
Mensajes: 867
Antigüedad: 14 años, 4 meses
Puntos: 65
Respuesta: Formulario dinámico

Si ya tenés cargado la lista de marcas ¿para qué volver a pedir esos datos?

para mi mejor seleccionar marca y traer los modelos

no entendí lo de tener otro archivo php

Última edición por Dany_s; 15/09/2011 a las 08:37
  #10 (permalink)  
Antiguo 15/09/2011, 14:49
 
Fecha de Ingreso: noviembre-2008
Ubicación: el sol
Mensajes: 146
Antigüedad: 15 años, 5 meses
Puntos: 6
Respuesta: Formulario dinámico

Aver quiero saber si es necesario crear un archivo php aparte para incrustar el formulario de la siguiente manera
Código Javascript:
Ver original
  1. $(document).ready(function(){
  2.         $("#mostrarcapa").change(function(evento){
  3.             evento.preventDefault();
  4.             $("#capaoculta").show(500);
  5.             $.post("insertar_liberacion2.php",{ id:$(this).val() },function(data){$("#sel-modelo").html(data);})
  6.         });
  7.     })
o se puede hacer invocando una función de dentro de la página o algo así y que me recoja cuando este campo haya cambiado con .change queiro que me guarde el value del option seleccionado.

No se si me explico :S para así luego poder hacer una consulta SQL y sabiendo el IDMODELO puedo sacar el precio del modelo
  #11 (permalink)  
Antiguo 16/09/2011, 08:41
 
Fecha de Ingreso: diciembre-2009
Ubicación: Misiones
Mensajes: 867
Antigüedad: 14 años, 4 meses
Puntos: 65
Respuesta: Formulario dinámico

es que de algún lugar vas a tener que traer los datos, no sé a que te referís con archivo aparte
  #12 (permalink)  
Antiguo 16/09/2011, 11:05
 
Fecha de Ingreso: noviembre-2008
Ubicación: el sol
Mensajes: 146
Antigüedad: 15 años, 5 meses
Puntos: 6
Respuesta: Formulario dinámico

Me refiero a que si al insertar la función $.post de jquery que lo que inserto a la página es un select, no se puede llamar a un select que este en el mismo fichero de php, yo tengo insertar_liberacion.php y este select del que te hablo en insertar_liberacion2.php porque lo que necesito es una vez seleccione el modeo, haya otro .change que me muestre el id del modelo seleccionado, es decir el value del option que esta seleccionado en este fichero aparte (insertar_liberacion2.php) que se insertar mediante $.post

un saludo y mcuhas gracias

Etiquetas: javascript, php, 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 15:50.