En esta práctica de JavaScript he puesto en práctica que al validar los campos de un formulario estos no puedan estar vacíos, para lo cual he utilizado tanto el atributo required en HTML como una validación usando JavaScript.
Cuando se pulsa en el botón Enviar del formulario, previamente se hace una validación para comprobar si los campos del formulario están vacíos o no. En caso de haber algún o algunos campos vacíos se muestra dicha información y no se envían los datos. En caso contrario, los datos son enviados.
Para poder comprender el código de esta práctica es muy importante conocer tanto el atributo required de HTML como conocer el DOM y la forma de acceder a los elementos del DOM y a los atributos de dichos elementos. Como ayuda puedes echarle un vistazo a los siguientes enlaces:
Código HTML
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Práctica de JavaScript</title>
<link href="estilos.css" rel="stylesheet" type="text/css" />
<script src="funciones.js" type="text/javascript"></script>
</head>
<body>
<form>
<p><input type="text" id="nombre" class="campoTexto" required /></p>
<p><input type="text" id="correo" class="campoTexto" required /></p>
<p><input type="text" id="mensaje" class="campoTexto" required /></p>
<p><input type="submit" id="boton" /></p>
</form>
<div id="caja"></div>
</body>
</html>
Código CSS
* {
text-align: center;
}
#caja {
display: none;
margin: 0px auto;
width: 400px;
padding: 5px;
text-align: left;
background-color: red;
color: white;
}
input[type=text]{
text-align: left;
}
Código JavaScript
window.onload = inicializar;
function inicializar() {
document.getElementById("boton").addEventListener("click", validarCampo, false);
}
function validarCampo() {
let caja = document.getElementById("caja");
caja.innerHTML = "";
let camposTexto = document.getElementsByClassName("campoTexto");
for (let i = 0; i < camposTexto.length; i++) {
if (camposTexto[i].value == "") {
caja.style.display = "block";
caja.innerHTML += "El campo " + camposTexto[i].id + " no puede estar vacío.
";
}else{
caja.style.display = "none";
}
}
}
Demostración

Esta obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-SinObraDerivada 4.0 Internacional.