Foros del Web » Programando para Internet » Javascript »

activar input text si el otro input text esta lleno

Estas en el tema de activar input text si el otro input text esta lleno en el foro de Javascript en Foros del Web. Hola amigos quisiera saber como puedo ir llenando input text mientras el anterior se halla llenado con un valor numerico. Que haga esto cada vez ...
  #1 (permalink)  
Antiguo 22/01/2012, 10:35
Avatar de kimmy  
Fecha de Ingreso: julio-2008
Mensajes: 841
Antigüedad: 16 años, 4 meses
Puntos: 15
Pregunta activar input text si el otro input text esta lleno

Hola amigos quisiera saber como puedo ir llenando input text mientras el anterior se halla llenado con un valor numerico. Que haga esto cada vez que se posicione en el input siguiente y no al hacer submit. Lo que quiero es obligar al usuario a que llene cada campo en el orden correspondiente:

hice la prueba con este javascript, pero no funciona:

Código Javascript:
Ver original
  1. function validar(input) {
  2.     if(form1.dias.value==""){
  3.     form1.otros_desc.disabled=false;
  4.     }else{
  5.     form1.otros_desc.disabled=true;
  6.    }
  7. }

y en el input dias le coloco onchange="validar" pero no funciona. También lo probé en el onblur que ya tiene y no funciona.

Este es mi formulario:

Código PHP:
Ver original
  1. <form action="nomina_reg.php" method="post" name="form1" >
  2.       <table width="750" border="0" class="tabla2">
  3.         <tr>
  4.           <td colspan="5" class="td2" bgcolor="#95bce2">UNIDAD EDUCATIVA EL MILAGRO DE LA PERLA</td>
  5.           </tr>
  6.         <tr>
  7.           <td colspan="5">NOMINA PARA EL PAGO DE SUELDOS EMPLEADOS</td>
  8.           </tr>
  9.       <tr>
  10.       <td width="26%">
  11.       <div class="demo">
  12.       <p>Fecha Desde: <input type="text" id="datepicker_1" name="desde" class="fechador"></p>
  13.       </div>
  14.       </td>
  15.       <td width="26%">
  16.       <div class="demo">
  17.       <p>Fecha Hasta: <input type="text" id="datepicker_2" name="hasta" class="fechador"></p>
  18.       </div>
  19.       </td>
  20.       </tr>
  21.       </table>
  22.       <br />
  23.       <table width="750" border="1"  bordercolor="#95bce2"  class="tabla3">
  24.   <tr bgcolor="#95bce2 ">
  25.     <td width="3%" class="td3">Nº</td>
  26.     <td width="3%" class="td3">CI</td>
  27.     <td width="10%" class="td3">APELLIDOS</td>
  28.     <td width="11%" class="td3">NOMBRES</td>
  29.     <td width="4%" class="td3">DIAS</td>
  30.     <td width="8%" class="td3">SUELDO BÁSICO</td>
  31.     <td width="8%" class="td3">SUELDO DIARIO</td>    
  32.     <td width="8%" class="td3">SUELDO B. QUINCENA</td>
  33.     <td width="8%" class="td3">IVSS</td>
  34.     <td width="8%" class="td3">PARO FORSOZO</td>
  35.     <td width="8%" class="td3">LPH</td>
  36.     <td width="8%" class="td3">OTROS DESCUENT</td>
  37.     <td width="8%" class="td3">OTROS INGRESOS</td>
  38.     <td width="8%" class="td3">TOTAL DEDUCCIONES</td>
  39.     <td width="8%" class="td3">TOTAL DEVENGADO</td>
  40.   </tr>
  41.  
  42.   <?php
  43. $indice = 1;
  44. $indice2 = 1;
  45. $indice3 = 1;
  46. //$indice4 = 1;
  47. $rs = mysql_query("SELECT * FROM empleados ORDER BY id_empleado ASC");
  48. while($result = mysql_fetch_array($rs)) {
  49.     // Realmente no necesitas hacer todas las asignaciones que tienes
  50.     // Sólo estás agregando más código, siempre puedes incluir...
  51.     // ... elementos de array en cadenas usando {$result['indice']}
  52.     $ivss = number_format(($result['sueldo_basico']*4/100),2,'.','');
  53.     $paro_for = number_format(($result['sueldo_basico']*0.5/100),2,'.','');
  54.     $lph = number_format(($result['sueldo_basico']*1/100),2,'.','');
  55.     $sueldo_diario = $result['sueldo_basico']/30;
  56.     // Para facilitar un poco las cosas, habrá que agregar un campo oculto...
  57.     // ...con la id de empleado
  58. ?>
  59.     <tr>
  60.         <td><?php echo $result['id_empleado']; ?><input type="hidden" name="id_empleado[]" value="<?php echo $result['id_empleado']; ?>" /></td>
  61.         <td><?php echo $result['ci']; ?></td>
  62.         <td><?php echo "{$result['papellido']} {$result['sapellido']}"; ?></td>
  63.         <td><?php echo "{$result['pnombre']} {$result['snombre']}"; ?></td>
  64.        
  65.         <td><input name="dias[]" type="text" id="dias<?php echo $indice; ?>" size="2" value="" onBlur="calcula(this.value, '<?php echo $sueldo_diario; ?>', <?php echo $indice; ?>);"   /></td>
  66.         <td><label name="sueldo_basico" id="sueldo_basico" size="2" readonly="readonly" value="" ><?php echo $result['sueldo_basico']; ?></label></td>
  67.         <td><input type="text" name="sueldo_diario[]" id="sueldo_diario" size="5" readonly="readonly" value="<?php echo $sueldo_diario; ?>" ></td>
  68.         <td><input name="sueldo_quinc[]" type="text" id="sueldo_quinc<?php echo $indice; ?>" size="5" value="" readonly="readonly" /></td>
  69.  
  70.  
  71.  
  72.         <td><input type="text" name="ivss[]" id="ivss" size="3" readonly="readonly" value="<?php echo $ivss; ?>"  /></td>
  73.         <td><input type="text" name="paro_for[]" id="paro_for" size="3" readonly="readonly" value="<?php echo $paro_for; ?>" ></td>
  74.         <td><input type="text" name="lph[]" id="lph" size="3" readonly="readonly" value="<?php echo $lph; ?>" ></td>
  75.        
  76.        
  77.         <td><input name="otros_desc[]" type="text" id="otros_desc<?php echo $indice2; ?>" size="5" value="" onBlur="deducciones(this.value, '<?php echo $ivss; ?>', '<?php echo $paro_for; ?>', '<?php echo $lph; ?>', <?php echo $indice2; ?>);" /></td>
  78.         <td><input name="otros_ing[]" type="text" id="otros_ing<?php echo $indice3; ?>" size="5" value="" onChange="total_dev(this.value, sq, dd, <?php echo $indice3; ?>);" /></td>
  79.  
  80.         <td><input name="total_deducc[]" type="text" id="total_deducc<?php echo $indice2; ?>" size="5" value="" readonly="readonly" /></td>
  81.        <td><input name="total_deveng[]" type="text" id="total_deveng<?php echo $indice3; ?>" size="5" value="" readonly="readonly"  /></td>
  82.     </tr>
  83. <?php
  84.     $indice ++;
  85.     $indice2 ++;
  86.     $indice3 ++;
  87.     //$indice4 ++;
  88. } // fin de while
  89. ?>  <tr>
  90.       <td>&nbsp;</td>
  91.  
  92.     <td>&nbsp;</td>
  93.     <td>&nbsp;</td>
  94.     <td>&nbsp;</td>
  95.     <td>&nbsp;</td>
  96.     <td>&nbsp;</td>
  97.     <td>&nbsp;</td>
  98.     <td>&nbsp;</td>
  99.     <td>&nbsp;</td>
  100.     <td>&nbsp;</td>
  101.     <td>&nbsp;</td>
  102.     <td>&nbsp;</td>
  103.     <td>&nbsp;</td>
  104.     <td class="td3">TOTAL</td>
  105.     <td><input type="text" id="total" name="total"  size="5" value="" readonly="readonly" onMouseOver="javascript:totalizar();" /></td>
  106.   </tr>
  107. </table>
  108.   <tr>
  109.  <!-- <A href="javascript:totalizar()">Ver valores</A>-->
  110.     <th colspan="2"><input type="submit" name="button" id="button" value="Guardar" />
  111.     </th>
  112.   </tr>
  113. </form>

Cómo puedo hacer esto?

Gracias.
__________________
Caminando con el corazón partío
  #2 (permalink)  
Antiguo 22/01/2012, 14:55
Avatar de madhatterdef  
Fecha de Ingreso: diciembre-2011
Ubicación: argentina
Mensajes: 213
Antigüedad: 13 años
Puntos: 59
Respuesta: activar input text si el otro input text esta lleno

prueba esto

Código:
<html>
<head>
<script type="text/javascript">
function validar(form) {
  form.txt2.disabled=(form.txt1.value=='');
}
</script>
</head>
<body>
<form>
<input type="text" name="txt1" onkeyup="validar(this.form)" />
<input type="text" name="txt2" disabled="disabled"/>
</form>
</body>
</html>
  #3 (permalink)  
Antiguo 23/01/2012, 09:44
Avatar de kimmy  
Fecha de Ingreso: julio-2008
Mensajes: 841
Antigüedad: 16 años, 4 meses
Puntos: 15
Respuesta: activar input text si el otro input text esta lleno

Muchas gracias madhatterdef, lo probé pero no me activa el segundo input al introducir el valor en el primero.
__________________
Caminando con el corazón partío
  #4 (permalink)  
Antiguo 23/01/2012, 10:01
Avatar de madhatterdef  
Fecha de Ingreso: diciembre-2011
Ubicación: argentina
Mensajes: 213
Antigüedad: 13 años
Puntos: 59
Respuesta: activar input text si el otro input text esta lleno

pone eso en un html vacío y proba escribí en el primero y se te habilitara el segundo

que navegador usas lo probé firefox, chrome, opera, safari, lunascape e ie7, 8 y 9
  #5 (permalink)  
Antiguo 23/01/2012, 23:02
Avatar de madhatterdef  
Fecha de Ingreso: diciembre-2011
Ubicación: argentina
Mensajes: 213
Antigüedad: 13 años
Puntos: 59
Respuesta: activar input text si el otro input text esta lleno

mira esto.

<html>
<head><script>
function calcula(form){
sueldo_diario = document.getElementById("sueldo_diario").value;
dias = document.getElementById("dias").value;
r = parseFloat(sueldo_diario)*parseFloat(dias)
document.getElementById("sueldo_quincenal").value = r;
form.txt2.disabled=(form.txt1.value=='');
}
function deducciones(form){
ivss = document.getElementById("ivss").value;
paro_forzoso = document.getElementById("paro_forzoso").value;
lph = document.getElementById("lph").value;
otros_descuentos = document.getElementById("otros_descuentos").value;
r2= parseFloat(ivss) + parseFloat(paro_forzoso) + parseFloat(lph) + parseFloat(otros_descuentos)
document.getElementById("total_deducciones").value = r2;
form.txt3.disabled=(form.txt2.value=='');
}

function totaldev(form){
sueldo_quincenal = document.getElementById("sueldo_quincenal").value;
otros_ingresos = document.getElementById("otros_ingresos").value;
total_deducciones = document.getElementById("total_deducciones").value ;
r3= parseFloat(sueldo_quincenal) + parseFloat(otros_ingresos) - parseFloat(total_deducciones)
document.getElementById("total_devengado").value = r3;
}


</script>
</head>
<body>
<form>
<input type="text" name="txt1" id="dias" value=0 onkeyup="calcula(this.form)" >
<input type="text" id="sueldo_diario" value=1548.21 readonly="readonly">
<input type="text" id="sueldo_quincenal" readonly="readonly">
<input type="text" id="ivss" value=61.93 readonly="readonly">
<input type="text" id="paro_forzoso" value=7.74 readonly="readonly">
<input type="text" id="lph" value=15.48 readonly="readonly">
<input type="text" name="txt3" id="otros_ingresos" value=0 disabled="disabled" onkeyup="totaldev()">
<input type="text" name="txt2" id="otros_descuentos" value=0 disabled="disabled" onkeyup="deducciones(this.form)">
<input type="text" id="total_deducciones" readonly="readonly">
<input type="text" id="total_devengado"readonly="readonly">
</form>
</body>
</html>

luego te puedo ayudar a adaptarlo al que te dio Nemutagk
__________________
PD gracias por el karma
  #6 (permalink)  
Antiguo 25/01/2012, 14:44
Avatar de kimmy  
Fecha de Ingreso: julio-2008
Mensajes: 841
Antigüedad: 16 años, 4 meses
Puntos: 15
Respuesta: activar input text si el otro input text esta lleno

madhatterdef, voy a probarlo y te comento. Muchas Gracias. :)
__________________
Caminando con el corazón partío

Etiquetas: formulario, funcion, input, lleno, php, txt
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 01:25.