Autor Tema: JavaScript focus blur submit formularios detener envío con return false CU01181E  (Leído 2325 veces)

pedro,,

  • Moderador Global
  • Experto
  • *******
  • APR2.COM
  • Mensajes: 1292
    • Ver Perfil
Hola. Teniendo el siguiente código:

Código: [Seleccionar]
<!DOCTYPE html>
<html><head><script>
function validarForm() {
    var x = document.forms["elForm1"]["nombre"].value;
    if (x==null || x=="") { alert("El formulario no puede enviarse sin rellenar el nombre");
        return false; }
}
</script></head>
<body><form style ="margin:30px;" name="elForm1" action="http://aprenderaprogramar.com" onsubmit="return validarForm()" method="get">
Nombre: <input type="text" name="nombre">
<input type="submit" value="Enviar">
</form>
</body></html>

Citar
a) ¿Qué cometido cumple este código?
Comprueba que el único campo del formulario no esté vacío o sea null y devuelve false al formulario en caso de que el nombre esté vacío o sea null.

Citar
b) ¿Qué ocurre si en lugar de onsubmit="return validarForm()" escribes onsubmit="validarForm()"? ¿Por qué?
Que el formulario se enviará, aun estando vacío.
Porque no hay nada en este código que lo impida.

Citar
c) Si x no es null ni es vacío, ¿qué devuelve la función validarForm()? ¿Qué implicaciones tiene esto en relación al envío del formulario?
Viendo como se comporta el código, diría que la función al no devolver false por que el formulario está bien rellenado, devuelve true por defecto.

Saludos.
« Última modificación: 03 de Febrero 2016, 09:12 por Ogramar »

Mario R. Rancel

  • Administrador
  • Experto
  • ********
  • APR2.COM
  • Mensajes: 1978
    • Ver Perfil
Buenas tardes Pedro veo las respuestas correctas. En la pregunta a) de forma más amplia podemos decir que el código evita el envío del formulario si el campo nombre está vacío o tiene contenido no válido. Si como respuesta a un evento submit de un formulario se tiene un return false, el formulario no es enviado, como se explica al comienzo del ejercicio.

En la pregunta b), necesitamos un return como respuesta al submit. Si no lo tenemos, el formulario se enviará aunque la función devuelva false.

En la pregunta c) yo diría que la función no devuelve nada, aunque podrían hacerse pruebas para comprobar esto. Al no devolverse nada, el formulario se envía porque no se produce un return false como respuesta al evento submit.

Saludos,

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".