Los campos de texto permiten a los usuarios ingresar texto en una interfaz de usuario.
Los campos de texto son una parte fundamental de las interfaces de usuario y se utilizan
ampliamente en formularios, búsquedas, chatbots y otras interacciones donde se requiere
la entrada y manipulación de texto.
La funcionalidad de un campo de texto es permitir a los usuarios ingresar y editar texto
para recibir información, postular, hacer preguntas, entre otras cosas.
Por otro lado para AIEP esto le permite ingresar datos y responder a necesidades de
usuario para comenzar un proceso.
Los campos de texto son elementos de la interfaz del usuario que tienen las siguientes
funcionalidades:
<div class="form-column">
<label for="">Nombre(s) *</label>
<div id="div-nombre" class="form-input">
<input id="input-nombre" type="text" placeholder="Claudia Andrea"
oninput="mostrarIconoBorrar()">
<img id="icono-nombre-borrar" class="icono-borrar-clase"
src="iconos/cancelar_lineal.svg" alt="" width="32" height="32"
onclick="borrarContenido()">
<img id="icono-verificar" class="icono-verificar-clase"
src="iconos/verificar-circulo-verde.svg" alt="" width="32" height="32">
</div>
<p class="form-error" id="mensajeError" style="color: red; display:
none;">
Ingresa tu(s) nombre(s)
</p>
</div>
</div>
.form-column {
display: flex;
flex-direction: column;
flex-wrap: wrap;
gap: 10px;
width: 100%;
}
.form-column .form-input {
display: flex;
justify-content: flex-start;
position: relative;
}
.form-column label {
font-family: 'Montserrat';
font-style: normal;
font-weight: 500;
font-size: 14px;
line-height: 24px;
color: #024588;
}
.form-column label.disabled {
font-family: 'Montserrat';
font-style: normal;
font-weight: 500;
font-size: 14px;
line-height: 24px;
color: #B6AFAF;
}
.form-column input {
box-sizing: border-box;
padding: 15px 40px 15px 20px;
height: 50px;
background: #FAF9F9;
mix-blend-mode: normal;
border: 1px solid #024588;
border-radius: 10px;
font-family: 'Montserrat';
font-style: normal;
font-weight: 500;
font-size: 16px;
line-height: 26px;
color: #024588;
box-shadow: unset;
outline: unset;
}
.form-column input.disabled {
border: 1px solid #B6AFAF;
color: #B6AFAF;
cursor: not-allowed;
}
.form-column input::placeholder {
font-family: 'Montserrat';
font-style: normal;
font-weight: 500;
font-size: 16px;
line-height: 20px;
color: #B6AFAF;
}
.form-column input:hover {
border: 2px solid #024588;
}
.form-column input.disabled:hover {
border: 1px solid #B6AFAF;
}
.form-column input:focus,
.form-column input:active,
.form-column input:focus-visible,
.form-column input:target {
border: 3px solid #3D8DDD;
}
.form-column .icono-borrar-clase {
display: none;
position: absolute;
right: 8px;
cursor: pointer;
transition: 0.3s ease-in-out;
z-index: 10;
}
.icono-verificar-clase {
z-index: 1;
display: none;
position: absolute;
right: 8px;
transition: 0.3s ease-in-out;
}
.form-error {
font-family: 'Montserrat';
font-style: normal;
font-weight: 500;
font-size: 14px;
line-height: 24px;
color: #E33535;
}
var input = document.getElementById("input-nombre");
var div = document.getElementById("div-nombre");
var iconoBorrar = document.getElementById("icono-nombre-borrar");
var iconoVerificar = document.getElementById("icono-verificar");
var mensajeError = document.getElementById("mensajeError");
function mostrarIconoBorrar() {
if (input.value.length > 0) {
iconoVerificar.style.display = "none";
iconoBorrar.style.display = "block";
} else {
iconoBorrar.style.display = "none";
iconoVerificar.style.display = "none";
}
}
function borrarContenido() {
iconoVerificar.style.display = "none";
iconoBorrar.style.display = "none";
input.value = "";
}
input.addEventListener("input", function () {
var valor = input.value;
if (/^\d+$/.test(valor)) {
mensajeError.style.display = "block";
} else {
mensajeError.style.display = "none";
}
});
div.addEventListener("mouseleave", function () {
var valor = input.value;
if (input.value.length > 0) {
if (/^\d+$/.test(valor)) {
mensajeError.style.display = "block";
} else {
iconoBorrar.style.display = "none";
iconoVerificar.style.display = "block";
}
}
});
<div style="max-width: 350px;">
<div class="form-column">
<label for="">Clave *</label>
<div id="div-clave" class="form-input">
<input id="input-clave" type="password" placeholder="Ingresa tu clave"
oninput="mostrarIconoBorrar2()">
<img id="icono-nombre-borrar2" class="icono-borrar-clase"
src="iconos/cancelar_lineal.svg" alt="" width="32" height="32"
onclick="borrarContenido2()" style="right: 78px;">
<button class="btn-icono" style="margin-left: 10px;"
onclick="mostrarContrasena()">
<img src="iconos/ver_lineal.svg" alt="" width="32" height="32">
</button>
</div>
<p class="form-error" id="mensajeError2" style="color: red; display:
none;">
Ingresa clave, mínimo 4 máximo 8 caracteres
</p>
</div>
</div>
.form-column {
display: flex;
flex-direction: column;
flex-wrap: wrap;
gap: 10px;
width: 100%;
}
.form-column .form-input {
display: flex;
justify-content: flex-start;
position: relative;
}
.form-column label {
font-family: 'Montserrat';
font-style: normal;
font-weight: 500;
font-size: 14px;
line-height: 24px;
color: #024588;
}
.form-column label.disabled {
font-family: 'Montserrat';
font-style: normal;
font-weight: 500;
font-size: 14px;
line-height: 24px;
color: #B6AFAF;
}
.form-column input {
box-sizing: border-box;
padding: 15px 40px 15px 20px;
height: 50px;
background: #FAF9F9;
mix-blend-mode: normal;
border: 1px solid #024588;
border-radius: 10px;
font-family: 'Montserrat';
font-style: normal;
font-weight: 500;
font-size: 16px;
line-height: 26px;
color: #024588;
box-shadow: unset;
outline: unset;
}
.form-column input.disabled {
border: 1px solid #B6AFAF;
color: #B6AFAF;
cursor: not-allowed;
}
.form-column input::placeholder {
font-family: 'Montserrat';
font-style: normal;
font-weight: 500;
font-size: 16px;
line-height: 20px;
color: #B6AFAF;
}
.form-column input:hover {
border: 2px solid #024588;
}
.form-column input.disabled:hover {
border: 1px solid #B6AFAF;
}
.form-column input:focus,
.form-column input:active,
.form-column input:focus-visible,
.form-column input:target {
border: 3px solid #3D8DDD;
}
.form-column .icono-borrar-clase {
display: none;
position: absolute;
right: 8px;
cursor: pointer;
transition: 0.3s ease-in-out;
z-index: 10;
}
.icono-verificar-clase {
z-index: 1;
display: none;
position: absolute;
right: 8px;
transition: 0.3s ease-in-out;
}
.form-error {
font-family: 'Montserrat';
font-style: normal;
font-weight: 500;
font-size: 14px;
line-height: 24px;
color: #E33535;
}
var input2 = document.getElementById("input-clave");
var div2 = document.getElementById("div-clave");
var iconoBorrar2 = document.getElementById("icono-nombre-borrar2");
var mensajeError2 = document.getElementById("mensajeError2");
var botonVer = document.querySelector(".btn-icono");
function mostrarIconoBorrar2() {
if (input2.value.length > 0) {
iconoBorrar2.style.display = "block";
} else {
iconoBorrar2.style.display = "none";
}
}
function borrarContenido2() {
iconoBorrar2.style.display = "none";
input2.value = "";
}
function mostrarContrasena() {
if (input2.type === "password") {
input2.type = "text";
botonVer.classList.toggle("activo");
} else {
botonVer.classList.toggle("activo");
input2.type = "password";
}
}
input2.addEventListener("input", function () {
var valor = input2.value;
if (valor.length < 4 || valor.length> 8) {
mensajeError2.style.display = "block";
} else {
mensajeError2.style.display = "none";
}
});