Foros del Web » Programando para Internet » PHP »

Añadir campos a un form dinámicamente cuando cambie un dropdown list (select)

Estas en el tema de Añadir campos a un form dinámicamente cuando cambie un dropdown list (select) en el foro de PHP en Foros del Web. Hola a todos: He estado buscando por el foro, pero no he encontrado mi problema exactamente, lo que encuentro es como llenar un dropdown list ...
  #1 (permalink)  
Antiguo 21/04/2013, 07:03
 
Fecha de Ingreso: diciembre-2012
Ubicación: Madrid
Mensajes: 21
Antigüedad: 11 años, 4 meses
Puntos: 0
Añadir campos a un form dinámicamente cuando cambie un dropdown list (select)

Hola a todos:

He estado buscando por el foro, pero no he encontrado mi problema exactamente, lo que encuentro es como llenar un dropdown list dinámicamente, pero eso no es lo que quiero.

Os cuento:

Estoy un poco atascado con mi web, estoy intentando añadir un campo a un form si en un dropdown list (select de php) que hay en la parte de arriba de esa misma página (de ese mismo form) se selecciona una opción concreta.

No soy capaz de hacer que se actualice la página para añadir ese campo que quiero.

He tratado de usar el valor onChange del form para ver si era capaz y no he conseguido nada, voy a pegar la estructura más básica (sin las pruebas que he ido haciendo) para que quede más claro.

Lo que quiero hacer es que si se elije "pendientes" en el dropdown list se añada el campo peso al form, y si no se elije pendientes, que no lo muestre.


Código PHP:

 <table width="100%" border="0">
        <tr>
            <td bgcolor="#33CCFF"  width="20%"> <?php include_once("template_lateral_admin.php");?>
            </td>
            <td width="80%">
                <div id="contenidoWeb">
                  <p>&nbsp;</p>
                  <div align="left" style="margin-left:24px">
                    <div align="right" margin-right: 36px></div>
                    <h2>Añadir Nuevo Producto:</h2>
                    <p>&nbsp;</p>
                    
                    <form action="admin_nuevo_producto.php" enctype="multipart/form-data" name="addProductForm" id="addProductForm" method="post">
                    <table width="94%" border="0" cellpadding="3" align="center">
                      <tr>
                        <td> <strong>Categoría: </strong></td>
                        <td align="left"> 
                        <select name="categoria" id="categoria">
                            <option selected value="collares"> collares </option>
                            <option value="pulseras"> pulseras </option>
                            <option value="broches"> broches </option>
                            <option value="pendientes"> pendientes </option>
                            <option value="anillos"> anillos </option>
                        </select>            
                        </td>
                      </tr>
                     
//Más campos aquí, irrelevantes 

                          <? 
                            
if (mysql_real_escape_string($_POST['categoria']) == "pendientes")
                            {            
                                echo 
'<tr>     <td><strong> Peso: </strong></td> <td> <input name="pesoPendientes" id="pesoPendientes" type="text" size="10"  /> gramos </td> </tr>';                      
                            }
                        
?>
                      
                      <tr>
                        <td> </td>
                        <td align="right"> <input name="enviar" id="botonEnviar" type="submit" value="Añadir Elemento"  />
                        </td>
                      </tr>
                    </table>
Después los datos del form los parseo con PHP para meterlos en la BD, pero tampoco tiene que ver con esto.

Muchas gracias ya de antemano, cualquier pista me vendrá bien.
  #2 (permalink)  
Antiguo 22/04/2013, 17:36
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 2 meses
Puntos: 81
Respuesta: Añadir campos a un form dinámicamente cuando cambie un dropdown list (sele

Tienes que tener claro que una vez que la pagina se carga, no cambia su contenido y se vuelve a enviar.

Para hacer lo que quieres hacer debes usar javascript.

Con jquery (libreria javascript) puedes hacer algo como esto:
Código Javascript:
Ver original
  1. $("#categoria").change(function(){
  2.   if((this).val() == "pendientes")
  3.     $("#pendientes").show(); //lo muestras
  4.   else
  5.     $("#pendientes").hide(); //lo escondes
  6. });
Y en tu formulario puedes hacer un div que contenga todo lo que quieres que se muestre o no:
Código HTML:
Ver original
  1. <div id="pendientes">
  2.   Esto quiero que se vea cuando se haga click en pendientes...
  3. </div>
Saludos!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!

Etiquetas: dropdown, dropdownlist, form, select
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 08:53.