Foros del Web » Programación para mayores de 30 ;) » Java »

como declarar el .focus en mozilla ya que no funciona

Estas en el tema de como declarar el .focus en mozilla ya que no funciona en el foro de Java en Foros del Web. Hola a todos el siguiente script me sirve para ejecutar una base de datos ya que me funciona bien en todos los exploradores pero cuando ...
  #1 (permalink)  
Antiguo 17/01/2012, 14:18
 
Fecha de Ingreso: enero-2012
Mensajes: 7
Antigüedad: 12 años, 10 meses
Puntos: 0
Exclamación como declarar el .focus en mozilla ya que no funciona

Hola a todos el siguiente script me sirve para ejecutar una base de datos ya que me funciona bien en todos los exploradores pero cuando lo ejecuto en mozilla falla el .focus ya que cuando el usuario me digita mal algun campo inmediatamente el .focus lo direcciona al siguiente campo y lo que quiero es que lo deje en el mismo campo hasta que la informacion sea la correcta....... agradezco mucho la colaboracion de alguno de ustedes ya que estoy matandome la cabeza y no he podido .........


$script = "
<script language=\"JavaScript\" type=\"text/javascript\">
today=new Date();
anno=today.getFullYear();
if(anno < 1000){
anno = anno + 1900;
}
alert(\"Año: \" +today.getFullYear());
var a, mes, dia, anyo, febrero, concurrencia,envio;
concurrencia = 0;
envio = 0;
function anyoBisiesto(anyo) {//funcion para el año bisiesto
if (anyo % 4 != 0)
return false;
else{
if (anyo % 100 == 0){// si el año es divisible por 4 y por 100 y divisible por 400 > es bisiesto
if (anyo % 400 == 0){
return true;
}
else{ // si es divisible por 4 y por 100 pero no lo es por 400 > no es bisiesto
return false;
}
}
else{ // si es divisible por 4 y no es divisible por 100 > el año es bisiesto
return true;
}
}
}

function validar(fecha){
// obtenemos la fecha introducida y la separamos en dia, mes y año
a=fecha.value;
concurrencia = 1;

if(a == ''){
document.des.boton.focus();
return
}

anyo=a.split(\"-\")[0];
mes=a.split(\"-\")[1];
dia=a.split(\"-\")[2];



if( (isNaN(dia)==true) || (isNaN(mes)==true) || (isNaN(anyo)==true) ){
alert(\"La fecha introducida debe estar en el formato aaaa-mm-dd\");
fecha.focus();
fecha.select();
return;
}
if(anyoBisiesto(anyo))
febrero=29;
else
febrero=28;
if ((mes<1) || (mes>12)){ // si el mes introducido es negativo, 0 o mayor que 12 > alertamos y detenemos ejecucion
alert(\"El mes introducido no es válido. Por favor, introduzca un mes correcto\");
fecha.focus();
fecha.select();
return;
}
// si el mes introducido es febrero y el dia es mayor que el correspondiente al año introducido > alertamos y detenemos ejecucion
if ((mes==2) && ((dia<1) || (dia>febrero))){
alert(\"El día introducido no es válido. Por favor, introduzca un día correcto\");
fecha.focus();
fecha.select();
return;
}
// si el mes introducido es de 31 dias y el dia introducido es mayor de 31 > alertamos y detenemos ejecucion
if (((mes==1) || (mes==3) || (mes==5) || (mes==7) || (mes==8) || (mes==10) || (mes==12)) && ((dia<1) || (dia>31))){
alert(\"El día introducido no es válido. Por favor, introduzca un día correcto\");
fecha.focus();
fecha.select();
return;
}
// si el mes introducido es de 30 dias y el dia introducido es mayor de 301 > alertamos y detenemos ejecucion
if (((mes==4) || (mes==6) || (mes==9) || (mes==11)) && ((dia<1) || (dia>30))){
alert(\"El día introducido no es válido. Por favor, introduzca un día correcto\");
fecha.focus();
fecha.select();
return;
}
// si el mes año introducido es menor que 1900 o mayor que 2010 > alertamos y detenemos ejecucion
// NOTA: estos valores son a eleccion vuestra, y no constituyen por si solos fecha erronea
if ((anyo<2003) || (anyo>anno) )
{
alert(\"El año introducido no es válido. Por favor, introduzca un año entre 2003 y \"+ anno);
fecha.focus();
fecha.select();
setTimeout ('document.fecha.focus()',75);
return;
}
concurrencia = 0;
}

function validar_h(hora,flag){
if(concurrencia==0){
if(flag==1){
if(document.des.entrega.value == '')
return
}
// obtenemos la hora introducida y la separamos en horas, minutos
b=hora.value;
h=b.split(\":\")[0];
m=b.split(\":\")[1];
if(b == ''){
alert(\"La hora no puede ser vacia\");
hora.focus();
hora.select();
envio = 1;
return
}
if((isNaN(h)==true) || (isNaN(m)==true)){
alert(\"La hora introducida debe estar en el formato hh:mm\");
hora.focus();
hora.select();
envio = 1;
return;
}
if ( (h<7) || (h==7 && m<30) || (h==17 && m>30) || (h>17) ){ // si la hora introducida es negativa, 0 o mayor que 23 > alertamos y detenemos ejecucion
alert(\"La hora introducida no es válida. Por favor, introduzca una hora correcta entre 07:30 y 17:30\");
hora.focus();
hora.select();
envio = 1;
return;
}
if ((m<0) || (m>59)){ // si los minutos introducida es negativo, 0 o mayor que 59 > alertamos y detenemos ejecucion
alert(\"El minuto introducido no es válido. Por favor, introduzca un minuto correcto\");
hora.focus();
hora.select();
envio = 1;
return;
}
}
}

function pp(p){ // Función que coloca dos puntos a la hora
if(p.value.length==2)
p.value = p.value + \":\";
}

function pr(r,n){ // Función que colaca los separadores en la fecha
if(r.value.length==4 || r.value.length==7)
r.value = r.value + \"-\";
if(r.value.length==10){
if(n == 1){
document.des.guia.focus();
document.des.guia.select();
}
else{
document.des.hentrega.focus();
document.des.hentrega.select();
}
}
}

function enviar(){
if(envio==0)
document.des.submit();
}

//! Se valida con esta funcion la fecha de entrega para evitar
//! radicaciones esa informacion.
function val_fech_entr(){
if(document.des.entrega.value ==''){
document.des.radica_automatica.checked=false;
alert(\"No se puede realizar la radicacion, si no hay fecha de entrega.\");
}
}

</script>\n";
  #2 (permalink)  
Antiguo 18/01/2012, 12:00
 
Fecha de Ingreso: enero-2012
Mensajes: 7
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: como declarar el .focus en mozilla ya que no funciona

Por favor alguien que me indique el camino para salir de este tema que no he podido resolver aun ........... gracias.
  #3 (permalink)  
Antiguo 19/01/2012, 08:07
 
Fecha de Ingreso: enero-2012
Mensajes: 7
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: como declarar el .focus en mozilla ya que no funciona

Cita:
Iniciado por alfredantonhy Ver Mensaje
hola a todos el siguiente script me sirve para ejecutar una base de datos ya que me funciona bien en todos los exploradores pero cuando lo ejecuto en mozilla falla el .focus ya que cuando el usuario me digita mal algun campo inmediatamente el .focus lo direcciona al siguiente campo y lo que quiero es que lo deje en el mismo campo hasta que la informacion sea la correcta....... Agradezco mucho la colaboracion de alguno de ustedes ya que estoy matandome la cabeza y no he podido .........

Código javascript:
Ver original
  1. $script = "
  2. <script language=\"javascript\" type=\"text/javascript\">
  3.     today=new date();
  4.     anno=today.getfullyear();
  5.     if(anno < 1000){
  6.         anno = anno + 1900;
  7.     }
  8.     alert(\"año: \" +today.getfullyear());
  9.     var a, mes, dia, anyo, febrero, concurrencia,envio;
  10.     concurrencia = 0;
  11.     envio = 0;
  12.     function anyobisiesto(anyo) {//funcion para el año bisiesto
  13.         if (anyo % 4 != 0)
  14.             return false;
  15.         else{
  16.             if (anyo % 100 == 0){// si el año es divisible por 4 y por 100 y divisible por 400 > es bisiesto
  17.                 if (anyo % 400 == 0){
  18.                     return true;
  19.                 }
  20.                 else{ // si es divisible por 4 y por 100 pero no lo es por 400 > no es bisiesto
  21.                     return false;
  22.                 }
  23.             }
  24.             else{ // si es divisible por 4 y no es divisible por 100 > el año es bisiesto
  25.                 return true;
  26.             }
  27.         }                  
  28.    }
  29.  
  30.    function validar(fecha){
  31.         // obtenemos la fecha introducida y la separamos en dia, mes y año
  32.         a=fecha.value;
  33.         concurrencia = 1;
  34.  
  35.         if(a == ''){
  36.             document.des.boton.focus();
  37.             return
  38.         }
  39.  
  40.         anyo=a.split(\"-\")[0];
  41.         mes=a.split(\"-\")[1];
  42.         dia=a.split(\"-\")[2];
  43.        
  44.        
  45.  
  46.         if( (isnan(dia)==true) || (isnan(mes)==true) || (isnan(anyo)==true) ){
  47.             alert(\"la fecha introducida debe estar en el formato aaaa-mm-dd\");
  48.             fecha.focus();
  49.             fecha.select();
  50.             return;
  51.         }
  52.         if(anyobisiesto(anyo))
  53.             febrero=29;
  54.         else
  55.             febrero=28;
  56.         if ((mes<1) || (mes>12)){ // si el mes introducido es negativo, 0 o mayor que 12 > alertamos y detenemos ejecucion
  57.             alert(\"el mes introducido no es válido. Por favor, introduzca un mes correcto\");
  58.             fecha.focus();
  59.             fecha.select();
  60.             return;
  61.         }
  62.         // si el mes introducido es febrero y el dia es mayor que el correspondiente al año introducido > alertamos y detenemos ejecucion
  63.         if ((mes==2) && ((dia<1) || (dia>febrero))){
  64.             alert(\"el día introducido no es válido. Por favor, introduzca un día correcto\");
  65.             fecha.focus();
  66.             fecha.select();
  67.             return;
  68.         }
  69.         // si el mes introducido es de 31 dias y el dia introducido es mayor de 31 > alertamos y detenemos ejecucion
  70.         if (((mes==1) || (mes==3) || (mes==5) || (mes==7) || (mes==8) || (mes==10) || (mes==12)) && ((dia<1) || (dia>31))){
  71.             alert(\"el día introducido no es válido. Por favor, introduzca un día correcto\");
  72.             fecha.focus();
  73.             fecha.select();
  74.             return;
  75.         }
  76.         // si el mes introducido es de 30 dias y el dia introducido es mayor de 301 > alertamos y detenemos ejecucion
  77.         if (((mes==4) || (mes==6) || (mes==9) || (mes==11)) && ((dia<1) || (dia>30))){
  78.             alert(\"el día introducido no es válido. Por favor, introduzca un día correcto\");
  79.             fecha.focus();
  80.             fecha.select();
  81.             return;
  82.         }
  83.         //  si el mes año introducido es menor que 1900 o mayor que 2010 > alertamos y detenemos ejecucion
  84.         // nota: Estos valores son a eleccion vuestra, y no constituyen por si solos fecha erronea
  85.         if ((anyo<2003) || (anyo>anno) )
  86.         {
  87.             alert(\"el año introducido no es válido. Por favor, introduzca un año entre 2003 y \"+ anno);
  88.                        fecha.focus();
  89.             fecha.select();
  90.                 settimeout ('document.fecha.focus()',75);
  91.             return;
  92.         }
  93.         concurrencia = 0;
  94.     }
  95.  
  96.     function validar_h(hora,flag){
  97.         if(concurrencia==0){
  98.             if(flag==1){
  99.                 if(document.des.entrega.value == '')
  100.                     return
  101.             }
  102.             // obtenemos la hora introducida y la separamos en horas, minutos
  103.             b=hora.value;
  104.             h=b.split(\":\")[0];
  105.             m=b.split(\":\")[1];
  106.             if(b == ''){
  107.                 alert(\"la hora no puede ser vacia\");
  108.                 hora.focus();
  109.                 hora.select();
  110.                 envio = 1;
  111.                 return
  112.             }
  113.             if((isnan(h)==true) || (isnan(m)==true)){
  114.                 alert(\"la hora introducida debe estar en el formato hh:mm\");
  115.                 hora.focus();
  116.                 hora.select();
  117.                 envio = 1;
  118.                 return;
  119.             }
  120.             if ( (h<7) || (h==7 && m<30) || (h==17 && m>30) || (h>17) ){ // si la hora introducida es negativa, 0 o mayor que 23 > alertamos y detenemos ejecucion
  121.                 alert(\"la hora introducida no es válida. Por favor, introduzca una hora correcta entre 07:30 y 17:30\");
  122.                 hora.focus();
  123.                 hora.select();
  124.                 envio = 1;
  125.                 return;
  126.             }
  127.             if ((m<0) || (m>59)){ // si los minutos introducida es negativo, 0 o mayor que 59 > alertamos y detenemos ejecucion
  128.                 alert(\"el minuto introducido no es válido. Por favor, introduzca un minuto correcto\");
  129.                 hora.focus();
  130.                 hora.select();
  131.                 envio = 1;
  132.                 return;
  133.             }
  134.         }
  135.     }
  136.  
  137.     function pp(p){   // función que coloca dos puntos a la hora
  138.         if(p.value.length==2)
  139.             p.value = p.value + \":\";
  140.     }
  141.  
  142.     function pr(r,n){   // función que colaca los separadores en la fecha
  143.         if(r.value.length==4 || r.value.length==7)
  144.             r.value = r.value + \"-\";
  145.         if(r.value.length==10){
  146.             if(n == 1){
  147.                 document.des.guia.focus();
  148.                 document.des.guia.select();
  149.             }
  150.             else{
  151.                 document.des.hentrega.focus();
  152.                 document.des.hentrega.select();
  153.             }
  154.         }
  155.     }
  156.  
  157.     function enviar(){
  158.             if(envio==0)
  159.                 document.des.submit();
  160.     }
  161.  
  162.    //! Se valida con esta funcion la fecha de entrega para evitar
  163.    //! Radicaciones esa informacion.
  164.    Function val_fech_entr(){
  165.         if(document.des.entrega.value ==''){
  166.             document.des.radica_automatica.checked=false;
  167.            alert(\"no se puede realizar la radicacion, si no hay fecha de entrega.\");
  168.             }
  169.     }
  170.  
  171. </script>\n";
  #4 (permalink)  
Antiguo 19/01/2012, 08:51
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 16 años, 4 meses
Puntos: 416
Respuesta: como declarar el .focus en mozilla ya que no funciona

Cita:
Iniciado por alfredantonhy Ver Mensaje
Por favor alguien que me indique el camino para salir de este tema que no he podido resolver aun ........... gracias.
El primer paso, es poner el tema en el foro indicado. Este foro es de Java, no Javascript (Si, son diferentes).

Etiquetas: formulario
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 13:48.