Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/01/2010, 17:40
benjaminvera
 
Fecha de Ingreso: junio-2008
Mensajes: 101
Antigüedad: 16 años, 6 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....