Estou tentando criar um controle de frequencia simples, que ao finalizar de preencher e clicar no botão 'Finalizar folha de ponto' não seja mais possível preencher nenhum dos campos. Mas por algum motivo, meu código só bloqueia apenas um campo.
Se alguma pergunta ou resposta lhe foi útil, não deixe de dar seu voto positivo!
Estou tentando criar um controle de frequencia simples, que ao finalizar de preencher e clicar no botão 'Finalizar folha de ponto' não seja mais possível preencher nenhum dos campos. Mas por algum motivo, meu código só bloqueia apenas um campo.
Thiago, ao finalizar a sua operação do botão "Finalizar folha de ponto" você deve selecionar todos os inputs que quer e executar o bloqueio.
Sem ver seu código fica um pouco mais dificil de ajudar, mas seria algo parecido com isso:
//body...
<table id="tblTeste">
<tr>
<td>dia</td>
<td>hr 1</td>
<td>hr 2</td>
<td>hr 3</td>
<td>hr 4</td>
</tr>
<tr>
<td>segunda</td>
<td><input type="text"></td>
<td><input type="text"></td>
<td><input type="text"></td>
<td><input type="text"></td>
</tr>
<tr>
<td>terça</td>
<td><input type="text"></td>
<td><input type="text"></td>
<td><input type="text"></td>
<td><input type="text"></td>
</tr>
<tr>
<td>quarta</td>
<td><input type="text"></td>
<td><input type="text"></td>
<td><input type="text"></td>
<td><input type="text"></td>
</tr>
</table>
<div class="center">
<button onclick="funcTeste()">finalizar</button>
</div>
// função do botão...
<script type="text/javascript">
function funcTeste(event) {
// Pega todos os elementos input dentro da tabela que possui ID "tblTeste"
// ou seja, você deve ter todos os inputs dentro de um container e selecionar esse container
var inputs = document.getElementById('tblTeste').getElementsByTagName('input');
// altera como desabilitado em todos os inputs
for(var input of inputs){
input.disabled = true;
}
}
</script>
Thiago, coloque em anexo os fontes utilizados.
— Daniel Mendes 13 de Jan de 2024