Foros del Web » Programando para Internet » Javascript »

Guardar registros si hay un Renglon Completo

Estas en el tema de Guardar registros si hay un Renglon Completo en el foro de Javascript en Foros del Web. Nose si supe expresar en el post lo que busco, Buenas amigos, estoy trabajando en un sistema donde almaceno en una bd unos registros de ...
  #1 (permalink)  
Antiguo 10/12/2012, 10:01
Avatar de JuJoGuAl  
Fecha de Ingreso: julio-2009
Ubicación: Venezuela
Mensajes: 754
Antigüedad: 15 años, 3 meses
Puntos: 19
Guardar registros si hay un Renglon Completo

Nose si supe expresar en el post lo que busco, Buenas amigos, estoy trabajando en un sistema donde almaceno en una bd unos registros de mediciones, dichas mediciones se realizan 6 (como maximo) pero pueden ser menos, y la validacion de los datos la estoy haciendo por javascript (me parece mas rapido para validar)

ahora bien los datos estan asi:

Código HTML:
Ver original
  1. <tr>
  2.             <td><input type="text" name="tiempotefact1" id="tiempotefact1" onKeyPress="return acceptNum(event)" maxlength="10" size="10" /></td>
  3.             <td><input type="text" name="tiempotemontar1" id="tiempotemontar1" onBlur="calcular('tiempotemontar1','tiempotearmadov1','tiempotearmadot1','tiempototal1',this.id)" onKeyUp="mascara(this,':',patron2,true)" maxlength="6" size="10" /></td>
  4.             <td><input type="text" name="tiempotearmadov1" id="tiempotearmadov1" onBlur="calcular('tiempotemontar1','tiempotearmadov1','tiempotearmadot1','tiempototal1',this.id)" onKeyUp="mascara(this,':',patron2,true)" maxlength="6" size="10" /></td>
  5.             <td><input type="text" name="tiempotearmadot1" id="tiempotearmadot1" onBlur="calcular('tiempotemontar1','tiempotearmadov1','tiempotearmadot1','tiempototal1',this.id)" onKeyUp="mascara(this,':',patron2,true)" maxlength="6" size="10" /></td>
  6.             <td><input name="tiempotetotal1" type="text" id="tiempototal1" readonly="readonly" size="10" /></td>
  7.           </tr>

ese renglon se repite 6 veces, y busco un codigo que me valide los datos solo si hay valor en ellos si no los salte, posteriormente que inserte, es decir si tengo solo 1 renglon lleno lo inserte, si tengo 2 haga lo mismo e ignore el resto.

mi script para validar es este:
Código Javascript:
Ver original
  1. function val_tiempo_te(form)
  2. {
  3.     var frm=document.getElementById(form);
  4.     for (i=0;i<frm.elements.length;i++)
  5.     {  
  6.         if (frm.elements[i].value=="")
  7.         {
  8.             /*alert('no esta vacio');*/
  9.             alert(frm.elements[i].id);
  10.             /*Pregunto si es Fecha y me sercioro que sea valida*/
  11.             if (frm.elements[i].id.match(/fecha*/))
  12.             {
  13.                 if ( !esFechaValida(frm.elements[i].id) )
  14.                 {
  15.                     alert("La fecha de Medicion  no es valida");
  16.                     return false;
  17.                 }              
  18.             }
  19.             //Pregunto si el numero de factura no sea 0
  20.             else if (frm.elements[i].id.match(/.fact.*/))
  21.             {
  22.                 if ( frm.elements[i].value<=0 )
  23.                 {
  24.                     alert("Los numeros de Facturas no pueden ser 0");
  25.                     return false;
  26.                 }
  27.             }
  28.             //Pregunto si tiempo total es mayor a 0
  29.             else if (frm.elements[i].id.match(/tiempototal*/))
  30.             {
  31.                 if ( frm.elements[i].value=='00:00:00' )
  32.                 {
  33.                     alert("Los Tiempos totales no pueden ser 0");
  34.                     return false;
  35.                 }              
  36.             }
  37.         }      
  38.     }
  39. }

Pero no logro puesto que siempre me valida los campos que están en blanco, e probado con NULL y con =="" y igual me los toma :S

Ademas quiero saber como evito de que el usuario no inserte es decir que el form se envíe si por lo menos un renglón esta completo.
  #2 (permalink)  
Antiguo 10/12/2012, 10:44
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 7 meses
Puntos: 839
Respuesta: Guardar registros si hay un Renglon Completo

Es que la lógina está del revés. Lo que estás preguntando en la línea 6 es si el campo está vacío. Para ejecutar ese código si el campo no está vacío debería ser:
Código Javascript:
Ver original
  1. if (frm.elements[i].value!="")
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 10/12/2012, 10:47
Avatar de JuJoGuAl  
Fecha de Ingreso: julio-2009
Ubicación: Venezuela
Mensajes: 754
Antigüedad: 15 años, 3 meses
Puntos: 19
Respuesta: Guardar registros si hay un Renglon Completo

Si ya vi ese error y cambie a '!=' el problema es que me sigue saltando, es decir me sigue preguntando por los campos siguientes que estan vacios... nose si por las mascaras o las funciones java que les tengo en los eventos KeyUp o OnBlur esta afectando el valor
  #4 (permalink)  
Antiguo 10/12/2012, 10:52
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 7 meses
Puntos: 839
Respuesta: Guardar registros si hay un Renglon Completo

Si esa máscara agrega caracteres al input (no está del todo vacío) efectivamente entrará en tu código de validación.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 10/12/2012, 10:53
Avatar de JuJoGuAl  
Fecha de Ingreso: julio-2009
Ubicación: Venezuela
Mensajes: 754
Antigüedad: 15 años, 3 meses
Puntos: 19
Respuesta: Guardar registros si hay un Renglon Completo

pero solo las agrega si escribes, es decir si no tocas el input este no cambia para nada... :S

Etiquetas: completo, input, registros, renglon
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 05:03.