JavaScript - Alert en javascript

 
Vista:
Imágen de perfil de Anibal Pedro
Val: 13
Ha aumentado 1 puesto en JavaScript (en relación al último mes)
Gráfica de JavaScript

Alert en javascript

Publicado por Anibal Pedro (4 intervenciones) el 01/05/2021 21:35:02
Buenas tardes. Ante todo aclaro que soy muy novato. Tengo un codigo muy simple en javascript. La ventana alert "queda como en bucle" no vuelve al campo anterior con focus().Si cambio a otra pestaña del navegador y regreso , el cursor si se ubica en el input calle. Uso navegador Chrome.Agradeceria cualquier ayuda para encontrar el error!!!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<!DOCTYPE html>
 
<html>
<head>
      <title>Evento onblur</title>
</head>
 
<body>
<form name="f1">
 
Nombre  : <input type="text" name="nombre" value="" >
Apellido: <input type="text" name="apell"  value="" >
Calle  :  <input type="text" name="calle"  value="" onblur="comprueba()"/>
 
<input type="submit" name="enviar" value="Envia datos al servidor" />
 
</form>
 
</body>
</html>
 
 
<script>
 
function comprueba(){
     if (document.f1.calle.value == ""){
         alert ("Debe ingresar calle!");
		 document.f1.calle.focus();
		 }
		 }
 
</script>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de joel
Val: 3.506
Oro
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Alert en javascript

Publicado por joel (895 intervenciones) el 02/05/2021 09:37:56
Hola Anibal, creo que el problema es el alert()... si por ejemplo, utilizas el consola.log() ya no tienes ese problema.

1
2
3
4
5
6
function comprueba(){
    if (document.f1.calle.value == ""){
        console.log("Debe ingresar calle!");
        document.f1.calle.focus();
    }
}

Exactamente no te se decir el porque el alert se queda como con el focus... es una cosa un tanto extraña.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Anibal Pedro
Val: 13
Ha aumentado 1 puesto en JavaScript (en relación al último mes)
Gráfica de JavaScript

Alert en javascript

Publicado por Anibal Pedro (4 intervenciones) el 02/05/2021 13:56:37
Hola Joel. Gracias por responder. Cambie la linea por console.log pero no me aparece el mensaje en la pagina html . tal Vez lo este usando mal !!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de joel
Val: 3.506
Oro
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Alert en javascript

Publicado por joel (895 intervenciones) el 02/05/2021 14:15:45
Cuando utilizas console.log() el mensaje se visualiza en la consola del navegador, no en la pantalla.

Pulsa F12 o CTRL+Shift+C y veras las herramientas del navegador, una de las cuales, es la consola, muy utilizada para mostrar mensajes en los desarrollos.

Si no la encuentras comenta
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de algoritmo
Val: 37
Ha aumentado su posición en 2 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

Alert en javascript

Publicado por algoritmo (29 intervenciones) el 02/05/2021 17:06:38
Hola

He probado tu código, y efectivamente, me hace un extraño y no realiza lo que se pretende.

He hecho unos cambios, y me funciona. Como verás, puedes validar todos los campos el enviar el formulario, aceptando el envío, o abortando.

Por si te interesa :)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<!DOCTYPE html>
 
<html>
    <head>
      <title>Evento onblur</title>
    </head>
 
    <body>
        <form name="f1" onsubmit="return comprueba()">
 
            Nombre  : <input type="text" name="nombre" value="" />
            Apellido: <input type="text" name="apell"  value="" />
            Calle  :  <input type="text" name="calle"  value="" />
 
            <input type="submit" name="enviar" value="Envia datos al servidor" />
        </form>
    </body>
</html>
 
 
<script>
    function comprueba(){
        if (document.f1.calle.value == ""){
           alert("Debe ingresar calle!");
           document.f1.calle.focus();
           return false;
        }
        return true;
    }
</script>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Anibal Pedro
Val: 13
Ha aumentado 1 puesto en JavaScript (en relación al último mes)
Gráfica de JavaScript

Alert en javascript

Publicado por Anibal Pedro (4 intervenciones) el 02/05/2021 21:28:05
Gracias Algoritmo por contestar !!!! . Creo que me puede servir . Pero para abusar de tu amabilidad ,lo que en realidad quiero, es que el evento de error se dispare en un "onblur" . Es decir cuando el usuario deje el foco del campo calle . Hice las modificaciones que me propusiste pero no me funciona. Adjunto el nuevo codigo
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<!DOCTYPE html>
 
<html>
<head>
      <title>Evento onblur</title>
<script>
 
function comprueba(){
   if (document.f1.calle.value == ""){
      alert("Debe ingresar calle!");
      document.f1.calle.focus();
	      return false;
        }
        return true;
    }
 
</script>
</head>
 
<body>
<form name="f1">
 
NOMBRE  : <input type="text" name="nombre" value=""  >
APELLIDO: <input type="text" name="apell"  value=""  >
CALLE   : <input type="text" name="calle"  value="" onblur="comprueba()">
CIUDAD  : <input type="text" name="ciudad" value=""  >
 
<input type="submit" name="enviar" value="Envia datos al servidor" />
 
</form>
 
</body>
</html>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de algoritmo
Val: 37
Ha aumentado su posición en 2 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

Alert en javascript

Publicado por algoritmo (29 intervenciones) el 02/05/2021 22:56:13
Realizando una pequeña espera, se consigue el objetivo.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<!DOCTYPE html>
 
<html>
    <head>
        <title>Evento onblur</title>
        <script>
            function comprueba(){
                if (document.f1.calle.value == ""){
                    alert("Debe ingresar calle!");
                    setTimeout(function() { document.f1.calle.focus(); }, 10);
                }
            }
        </script>
    </head>
    <body>
        <form name="f1">
 
            NOMBRE  : <input type="text" name="nombre" value=""  >
            APELLIDO: <input type="text" name="apell"  value=""  >
            CALLE   : <input type="text" name="calle"  value="" onblur="comprueba()">
            CIUDAD  : <input type="text" name="ciudad" value=""  >
 
            <input type="submit" name="enviar" value="Envia datos al servidor" />
 
        </form>
    </body>
</html>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
Imágen de perfil de Anibal Pedro
Val: 13
Ha aumentado 1 puesto en JavaScript (en relación al último mes)
Gráfica de JavaScript

Alert en javascript

Publicado por Anibal Pedro (4 intervenciones) el 03/05/2021 00:27:04
Ahora si funciona. hace dias que vengo renegando con esto y todo es debido a mi "NOVATEZ"
Hago todo a modo prueba y error. No se porque hay que hacer el retardo !!!!!!
De todos modos estaba cerca de llegar a la soluciion . Justo estaba mirando este vinculo

https://www.it-swarm-es.com/es/javascript/document.getelementbyid-id-.focus-no-funciona-para-firefox-o-chrome/967324280/

GRACIAS OTRA VEZ !!!!!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar