Foros aprenderaprogramar.com

Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: Dimitar Stefanov en 22 de Abril 2016, 19:30

Título: CU01181E focus, blur, submit formulario, detener envío en JavaScript
Publicado por: Dimitar Stefanov en 22 de Abril 2016, 19:30
Buenas tardes.

Hago la entrega del ejercicio CU0081E del curso JavaScript desde cero.

Citar
EJERCICIO Y EJEMPLO

Otra forma de detener el envío de un formulario se basa en que si el código de respuesta a un evento submit es el valor booleano false, no se producirá el envío del formulario. En otro caso, sí se producirá el envío. Examina el siguiente código y responde a las cuestiones que se muestran a continuación:

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?

Antes de envíar el formulario verifica si el campo 'nombre' contiene algún valor.

Citar
b) ¿Qué ocurre si en lugar de onsubmit="return validarForm()" escribes onsubmit="validarForm()"? ¿Por qué?

El formulario se envía sin tener en cuenta lo que devuelve la función. Se envía porque al eleminar 'return' del atributo 'onsubmit' no condicionamos la acción con lo qué nos devolverá la función.

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?

No devolverá nada. La función devolverá false únicamente en el caso si la 'x' es null o vacía. Si no devuelve nada se ejecuta la acción por defecto(que es enviar el formulario).
Título: Re:CU01181E focus, blur, submit formulario, detener envío en JavaScript
Publicado por: pedro,, en 24 de Abril 2016, 22:24
Hola dimiste.

Todo bien.

Como siempre, recomendarte que veas también otras respuestas de otros compañeros.

Saludos. ;D