Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

155
Vistas
Cómo obtener la identificación de un campo de entrada dinámico en javascript

Quiero crear un formulario dinámico donde también aplico JavaScript a los elementos dinámicos.

Lo que quiero hacer ahora es averiguar en qué campo (almacenado en una matriz o en cualquier estructura de datos) en JavaScript se ha hecho clic para poder aplicar el script a ese campo en particular.

El HTML se ve así:

 <div class="triple"> <div class="sub-triple"> <label>Category</label> <input type="text" name="category" id="category" placeholder="Classes/Instances" required/> <ul class="cat-list"></ul> </div> <div class="sub-triple"> <label>Relation</label> <input type="text" name="relation" id="relation" placeholder="Properties" required/> <ul class="rel-list"></ul> </div> <div class="sub-triple"> <label>Value</label> <input type="text" name="value" id="value" placeholder="Classes/Instances" required/> <ul class="val-list"></ul> </div> </div>

Este div "triple" es dinámico y quiero crear tantos "triples" como el usuario quiera, eso también significa que los campos de entrada dentro de la sección "triple" también aumentan.

Estoy confundido sobre cómo agregar javascript a un elemento de la entrada. Por ejemplo, tengo entradas: categoría, relación y valor y el usuario quería 2 o más triples, entonces los identificadores de entrada podrían verse como categoría2, relación2 y valor2 o algo similar.

 let category = document.getElementById("category"); category.addEventListener("keyup", (e) => { removeElements(); listDown(category, sortedClasses, ".cat-list") });

Si digo que hice clic en la categoría 2, por ejemplo, ¿cómo le digo eso a mi javascript ya que estos campos son completamente dinámicos?

Resumen: el usuario está agregando secciones repetidas de triples (que contienen 3 elementos de entrada), donde la identificación de cada elemento de entrada se genera dinámicamente. Mi secuencia de comandos anterior funciona para la primera sección triple solo cuando las identificaciones son fijas, ya que para la sección "triple" sucesiva, la identificación de los campos cambia. ¿Cómo me identifico (veo en qué elemento se ha hecho clic) y obtengo estos ID dinámicos?

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Intente escuchar el elemento principal y luego use el objetivo del evento para averiguar la identidad de la entrada. Dado que los eventos de elementos secundarios aparecerán, podrá escuchar a todos los niños

p.ej

 let parentElement = document.querySelector(".triple"); parentElement.addEventListener("click", (e) => { console.log(e.target.id); });
about 4 years ago · Juan Pablo Isaza Denunciar

0

Puedes usar el evento onfocus

 <div class="triple"> <div class="sub-triple"> <label>Category</label> <input type="text" name="category" id="category" placeholder="Classes/Instances" onfocus="onFocusCategoryInput()" required/> <ul class="cat-list"></ul> </div> <div class="sub-triple"> <label>Relation</label> <input type="text" name="relation" id="relation" placeholder="Properties" onfocus="onFocusRelationInput()" required/> <ul class="rel-list"></ul> </div> <div class="sub-triple"> <label>Value</label> <input type="text" name="value" id="value" placeholder="Classes/Instances" onfocus="onFocusValueInput()" required/> <ul class="val-list"></ul> </div> </div>

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda