Buenas tardes.
Hago la entrega del ejercicio CU0081E del curso JavaScript desde cero.
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:
<!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>
a) ¿Qué cometido cumple este código?
Antes de envíar el formulario verifica si el campo 'nombre' contiene algún valor.
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.
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).