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

139
Vistas
¿Cómo deshabilito una serie de botones agregados por plantilla?

Estoy tratando de crear una aplicación simple de tiempo de entrada y salida para algunos adolescentes como parte de un programa de capacitación que tenemos. Más o menos como debería ser

Cuando el usuario presiona "AGREGAR OTRA FILA", aparece otra fila con un botón "Eliminar" al final. Cuando el usuario hace clic en "Revisar" en la parte inferior, me gustaría deshabilitar todos los botones de arriba para que la información codificada no se edite accidentalmente antes de enviar, luego aparece Sí/No. Si se selecciona No, los botones se habilitan nuevamente para la edición. Mi problema es que puedo deshabilitar todo excepto los botones "Eliminar fila".

 function finalCheck() { document.getElementById("review-button").disabled = true; document.getElementById("add").disabled = true; document.getElementById("wala").disabled = true; var wala = document.getElementsByClassName("minus").length; for(i = 0; i < wala.length; i++){ wala[i].disabled = true; } var final = document.getElementById("last-check").content; var copy = document.importNode(final,true); document.getElementById("bigGuy").appendChild(copy); var totalHours = 0; for (i = 0; i < content.length; i++){ totalHours = totalHours + content[i][3]; console.log(totalHours); } document.getElementById("total-hours").innerHTML = totalHours; }

Aquí está la plantilla HTML:

 <template id="shift" class="data"> <tr class="data-body" id="extra-row"> <td> <input type="text" class="datepicker" required> </td> <td> <input type="text" class="timepicker" name="clockIn" required> </td> <td> <input type="text" class="timepicker" name="clockOut" required> </td> <td class="calced-hours"></td> <td text-align: center> <button class="btn waves-effect waves-light minus red lighten-2" name="remove">Delete row</button> </td> </tr> </template>

Debo señalar que el botón ELIMINAR FILA sí funciona; eliminará la fila relevante.

El nombre de clase de los botones Eliminar es "menos". Lo probé sin la var; Intenté forEach (pero realmente no entiendo completamente cómo usar forEach...). Supongo que el problema se debe a que los botones Eliminar se agregan por plantilla, pero si trato de obtener la longitud de la matriz para var "wala", me da un resultado. Entonces sé que la función puede detectar esos botones. Simplemente no puedo desactivarlos.

about 4 years ago · Juan Pablo Isaza
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