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.