Foros del Web » Programando para Internet » PHP »

Formulario Dinámico.... aparecen y desaparecen campos de acuerdo a SELECT option

Estas en el tema de Formulario Dinámico.... aparecen y desaparecen campos de acuerdo a SELECT option en el foro de PHP en Foros del Web. Hola Mundo.... Cómo están...???? Con muchas dudas pero con trabajo... jejejeje Mi duda es la siguiente: Tengo un formulario donde solo me interesa mandar datos ...
  #1 (permalink)  
Antiguo 28/01/2010, 17:40
 
Fecha de Ingreso: junio-2008
Mensajes: 101
Antigüedad: 16 años, 5 meses
Puntos: 0
Formulario Dinámico.... aparecen y desaparecen campos de acuerdo a SELECT option

Hola Mundo.... Cómo están...????
Con muchas dudas pero con trabajo... jejejeje
Mi duda es la siguiente:
Tengo un formulario donde solo me interesa mandar datos numéricos hacia una base de datos.
Este formulario cambia de manera dinamica ya que de acuerdo a la seleccion del drop list
aparecen y desaparecen Inputs BOX....
La cuestión es que en este ejemplo solo hay 3 campos de captura y de acuerdo a la seleccion
de los Drop List puede aparecer solo 1, 2 o 3 campos de captura....
Pero mi gran duda es ver cómo puedo hacer para que mi archivo PHP/MySQL pueda cambiar de
manera dinámica el envío de datos, ya sea que sea 1, 2 o 3 datos numéricos los que envíe
de acuerdo a la selección del cliente en los Selects del Drop List...

El archivo que debe mandar los valores a la Base de datos se llama "ENVIAR_1.php"

Aquí hice un pequeño ejemplo...

Código HTML:
Ver original
  1. <title>Dynamic form</title>
  2. <noscript><style type="text/css">.hideIfJSdisabled{display:none;}</style></noscript>
  3. <style type="text/css">.hide{display:none;}</style>
  4. <script type="text/javascript">
  5. function mes_fChanged(e){
  6. var m=e.options[e.selectedIndex].text;
  7. //document.getElementById('maintenanceCost').style.display=(m=='January'||m=='June'||m=='December')?'':'none';      
  8. document.getElementById('maintenanceCost').className=(m=='January'||m=='June'||m=='December')?'':'hide';
  9. }
  10. function org_sub_fChanged(e){
  11. document.getElementById('productionCostPerUnit').className=(e.options[e.selectedIndex].text=='Banco 3')?'':'hide';
  12. }
  13.  
  14. </head>
  15. <body bgcolor="#fcfcfc">
  16. <form method="post" action="../ENVIAR_1.php" name="FORM_1" onsubmit="return false;">
  17. <TABLE BORDER=1 cellspadding=2 bgcolor="#F5F5F5">
  18. <tr><TD><font color="#FF00FF">MES</font></TD>
  19.     <TD  align="left">
  20.         <select name="mes_f" onchange="mes_fChanged(this)">
  21.         <option selected><b>Escoger el Mes</b></option>
  22.         <optgroup label="January">
  23.         <option>January</option>
  24.         <option>February</option>
  25.         <option>March</option>
  26.         <option>April</option>
  27.         <option>May</option>
  28.         <optgroup label="June">
  29.         <option>June</option>
  30.         <option>July</option>
  31.         <option>August</option>
  32.         <option>September</option>
  33.         <option>Octuber</option>
  34.         <option>November</option>
  35.         <optgroup label="December">
  36.         <option>December</option>
  37.         </select>
  38.     </td></tr>
  39. <tr><TD>Año</TD>
  40.     <TD  align="left">
  41.         <SELECT name="anio_f">
  42.         <optgroup label="Year">
  43.         <option>2007</option>
  44.         <option>2008</option>
  45.         <option>2009</option>
  46.         <option>2010</option>
  47.         <option>2011</option>
  48.         </select>
  49.     </td></tr>
  50. <tr><TD><font color="#FF00FF">Banco</font></TD>
  51.     <TD  align="left">
  52.         <select name="mes" onchange="org_sub_fChanged(this)">
  53.         <option selected><b>Escoger el Banco</b></option>
  54.         <option>Banco 1</option>
  55.         <option>Banco 2</option>
  56.         <optgroup label="Banco 3">
  57.         <option>Banco 3</option>
  58.         <option>Banco 4</option>
  59.         </select>
  60.     </td></tr>
  61.     <tr><TD>Operacion</TD>
  62.     <TD  align="left">
  63.         <select name="pais">
  64.         <option selected><b>Escoger Operacion</b></option>
  65.         <optgroup label="Year">
  66.         <option>Deposito</option>
  67.         <option>Retiro</option>
  68.         <option>Tranferencia</option>
  69.         </select>
  70.     </td></tr>
  71. <tr><TD>Tipo de Cambio</TD>
  72.     <TD  align="left">
  73.         <select name="pais">
  74.         <option selected><b>Escoger tipo de Cambio</b></option>
  75.         <optgroup label="Year">
  76.         <option>Efectivo</option>
  77.         <option>Cheque</option>
  78.         <option>Tarjeta</option>
  79.         </select>
  80.     </td></tr>
  81. <tr><td bgcolor="#5CB3FF" align="center"><b>Negocio</b></td>
  82.  <td>
  83.         <TR id="maintenanceCost" bgcolor="#FFC0CB">
  84.            <TD><input type="hidden"  name="Det_1" value="26">Ganancia por Unidad de Venta</TD>
  85.            <TD><INPUT type=text name="VentaUnit" size="5" value="default"><b>%</b></TD>
  86.         </TR>
  87.   <TR><TD><font color="#FF4500">Costo por Unidad de Produccion</font></TD>
  88.       <TD><INPUT type=text name="ProducUnit" size="5" value="default">N&uacute;mero</TD>
  89.   </TR>
  90.   <TR id="productionCostPerUnit" bgcolor="#FFC0CB">
  91.       <TD><input type="hidden"  name="Det_14" value="47">Monto de Prestamo a pedir</TD>
  92.       <TD><INPUT type=text name="prestamo" size="5" value="default">N&uacute;mero</TD>
  93.   </TR>
  94.  </td>
  95. </tr>
  96. </body>
  97. </html>
Espero me puedan ayudar y también espero que este pequeño ejemplo les pueda servir de algo...

Saludos....
  #2 (permalink)  
Antiguo 28/01/2010, 17:59
Avatar de dasuve  
Fecha de Ingreso: marzo-2007
Ubicación: Gijón
Mensajes: 71
Antigüedad: 17 años, 8 meses
Puntos: 2
Respuesta: Formulario Dinámico.... aparecen y desaparecen campos de acuerdo a SELECT

puedes hacerlo con if/elseif (creo) por ejemplo...

Código PHP:
if($_POST['mes_f' == 'january') {$query mysql_query("insert into ......");}
elseif(
$_POST['mes_f'] == 'June') {$query mysql_query("insert into ......");} 
  #3 (permalink)  
Antiguo 28/01/2010, 18:21
 
Fecha de Ingreso: junio-2008
Mensajes: 101
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: Formulario Dinámico.... aparecen y desaparecen campos de acuerdo a SELECT

Vientos mi hermano...

Lo voy a intentar...... y te aviso si ya me jaló pero creo que tienes razón....

saludos....
  #4 (permalink)  
Antiguo 29/01/2010, 16:39
 
Fecha de Ingreso: junio-2008
Mensajes: 101
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: Formulario Dinámico.... aparecen y desaparecen campos de acuerdo a SELECT

Hola Mundo.... cómo están todos....?????

Pues ya resolví mi problemita.... De mucha ayuda fue la sugerencia de Dasuve...
Pero yo le agregué algo más ya que no me jalaba bien....

Código PHP:
Ver original
  1. if ($_REQUEST['mes_f']=='Ene')
  2. {
  3. {$query = mysql_query("insert into ......");}}
  4. elseif ($_REQUEST['mes_f']=='Mar'||$_REQUEST['mes_f']=='Sep')
  5. {
  6. {$query = mysql_query("insert into ......");}}
  7. }
  8. elseif ($_REQUEST['mes_f']=='Jun'||$_REQUEST['mes_f']=='Dic')
  9. {
  10. {$query = mysql_query("insert into ......");}}
  11. }
  12. else
  13. {
  14. {$query = mysql_query("insert into ......");}}
  15. }

Etiquetas: campos, desaparecen, option, select, 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 10:14.