Ver Mensaje Individual
  #1 (permalink)  
Antiguo 17/04/2007, 03:57
Avatar de angel_dope
angel_dope
 
Fecha de Ingreso: noviembre-2002
Ubicación: Valencia
Mensajes: 737
Antigüedad: 22 años, 3 meses
Puntos: 8
Habilitar textbox segun valor de un select que depende de otro select.

Pues eso, tengo un par de selects que dependen entre si, es decir, si cambiar el primero, cambian las opciones del segundo, lo típico. Pues además de eso, quiero lo siguiente. En el 2º select, siempre está al final la opción "otros" pues quiero que cuando se seleccione esa opción, se habilite un textbox para que escriban ahi (si se puede tener oculto y que aparezca en ese momento, ya sería la repera). Ahh, y también existe la opción "otros" en el primer select y tendria que hacer lo mismo, claro.

Como tendria que hacerlo??? Os dejo el código del formulario y el javascript que he utilizado para los selects para que se vea más claro

Código PHP:
<body>
  <
script language="JavaScript"

   function 
addOpt(oCntrliPossTxtsVal){ 
     var 
selOpcion=new Option(sTxtsVal); 
     eval(
oCntrl.options[iPos]=selOpcion); 
   } 

   function 
cambia(oCntrl){ 
    while (
oCntrl.lengthoCntrl.remove(0); 
    switch (
document.form1.producto1.selectedIndex){ 
     case 
0:  
      
addOpt(oCntrl,  0"Al agua""0"); 
      
addOpt(oCntrl,  1"Hidroalcohólico""1"); 
      
addOpt(oCntrl,  2"Al disolvente""2"); 
      
addOpt(oCntrl,  3"Otros""3"); 
      
      break; 
     case 
1:  
      
addOpt(oCntrl,  0"Poliuretano""0"); 
      
addOpt(oCntrl,  1"Acrílico""1"); 
      
addOpt(oCntrl,  2"Pigmentado""2"); 
      
addOpt(oCntrl,  3"Al ácido o reactiva""3"); 
      
addOpt(oCntrl,  4"Nitrocelulósico""4"); 
      
addOpt(oCntrl,  5"Poliester""5"); 
      
addOpt(oCntrl,  6"Pintura electroestática""6"); 
      
addOpt(oCntrl,  7"Otros""7"); 
      break; 
     case 
2:  
      
addOpt(oCntrl,  0"Poliuretano""0"); 
      
addOpt(oCntrl,  1"Acrílico""1"); 
      
addOpt(oCntrl,  2"Pigmentado""2"); 
      
addOpt(oCntrl,  3"Al ácido o reactiva""3"); 
      
addOpt(oCntrl,  4"Nitrocelulósico""4"); 
      
addOpt(oCntrl,  5"Poliester""5"); 
      
addOpt(oCntrl,  6"Pintura electroestática""6"); 
      
addOpt(oCntrl,  7"Otros""7"); 
      break; 
     case 
3:  
      
addOpt(oCntrl,  0"Otros""0"); 
     break; 
    case 
4:  
      
addOpt(oCntrl,  0"Otros""0"); 
     break; 


    } 
   } 
  
</script> 

<form id="form1" name="form1" method="post" action="insertar_disolventes.asp">
  <p>Por favor rellene el siguiente formulario para realizar los c&aacute;lculos necesarios para saber si est&aacute; afectado por el R.D.</p>
  <table width="100%" border="1">
    <tr>
      <td width="29%" rowspan="2">Producto</td>
      <td colspan="2">      <select name="producto1" onchange="cambia(document.form1.producto2)"> 
       <option value="0">Tinte</option> 
       <option value="1">Fondo</option> 
       <option value="2">Acabado</option> 
       <option value="3">Disolvente</option> 
       <option value="4">Otros</option>      
      </select> 
     </td>
    </tr>
    <tr>
      <td width="25%">      <select name="producto2"> 
       <option value="0">Al agua</option> 
       <option value="1">Hidroalcohólico</option> 
       <option value="2">Al disolvente</option> 
       <option value="3">Otros</option>        
      </select> 

        &nbsp;&nbsp;</td>
      <td width="46%"><input name="producto2b" type="text" id="producto2b" /> 
        <font size="1" face="Arial, Helvetica, sans-serif">*Especifique aqui si selecciona &quot;otros&quot; </font></td>
    </tr></table></body> 
Muchas gracias por adelantado. Salu2

P.D.: Acabo de caer en que si en el primero se selecciona "otros" el 2º cambia también a esa misma opción, asi que supongo que solo habria que controlar el segundo select, no??
__________________
Vayamos por Partes :: Jack el Destripador