Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/03/2013, 23:41
Avatar de osvaldor
osvaldor
 
Fecha de Ingreso: abril-2012
Ubicación: Santiago
Mensajes: 5
Antigüedad: 12 años, 6 meses
Puntos: 0
Límite de evento onKeyPress

Mi duda es simple, existe algun limite para hacer una llamada a una funcion js para pasar el foco a otro input al presionar ENTER;, ya que tengo 17 input del tipo text donde ingreso una cifra y al presionar enter se va al otro, no sin antes con el evento onblur llamar a otra funcion para realizar un producto y mostrarlo en otro input (esta ultima la realiza en los 17 input), hasta el input 13 (en el orden que se van ingresando los valores) hace las 2 funciones, pero en el input 14 se para y no me pasa el foco al siguiente, los codigos de las funciones y los input son los siguientes:


input #13 (hasta este input ejecuta ambas funciones en cada evento)
Código PHP:
Ver original
  1. <td>
  2.         <input name="old100" type="text" size="30" onkeypress="validateEnter(event, this.form.new50)" onblur="calcula(this.value,100,o100, total)"/>
  3. </td>

input # 14 (desde este hasta el #17 solo se ejecuta el evento onblur)

Código PHP:
Ver original
  1. <td>
  2.          <input name="new50" type="text" size="30" onkeypress="validateEnter(event, this.form.new10)" onblur="calcula(this.value,50,n50, total)" />
  3. </td>

funcion para onkeypress


Código Javascript:
Ver original
  1. function validateEnter(e, t)
  2.     {
  3.           a = e.keyCode;
  4.           if (a == 13)
  5.               {
  6.                     t.focus();
  7.               }
  8.     }


funcion para hacer los calculos (esta la incluyo a modo de informacion, ya que no hay nada de malo en ella (bueno para mi, ya que funciona))


Código Javascript:
Ver original
  1. function calcula(cant, monto, campo, total)
  2.    {
  3.          cadenasubtotal = document.getElementById(campo).value;
  4.          if (cadenasubtotal == "")
  5.              {
  6.                   valorsubtotal = 0;
  7.              }else
  8.              {
  9.                   valorsubtotal = parseInt(document.getElementById(campo).value);
  10.              }
  11.              cadenatotal = document.getElementById(total).value;
  12.              if (cadenatotal == "")
  13.                   {
  14.                        valortotal = 0;
  15.                   }else
  16.                   {
  17.                       valortotal = parseInt(document.getElementById(total).value);
  18.                   }
  19.                   estadototal = document.getElementById(total).value;
  20.                   if (estadototal == "")
  21.                         {
  22.                                suma = cant * monto;
  23.                                document.getElementById(campo).value = cant * monto;
  24.                                document.getElementById(total).value = suma;
  25.                          }
  26.                          else
  27.                          {
  28.                                suma = cant * monto;
  29.                                subtotal = valortotal - valorsubtotal;
  30.                                document.getElementById(campo).value = suma;
  31.                                document.getElementById(total).value = suma + subtotal;
  32.                          }
  33.                    }
Gracias, espero que me puedan ayudar a aclararme esta duda, ya que si solo puedo hacer 13 llamados a funciones utilizando onkeypress validando enter, tendre que pensar en otra forma de agilizar la digitacion.

Última edición por osvaldor; 25/03/2013 a las 22:37