Fórum Bloquear todas as caixas de texto após clicar em um botão #620930

12/01/2024

0

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.

não estou conseguindo anexar o print da tela do meu programa para mostrar
Thiago Alves

Thiago Alves

Responder

Posts

03/02/2024

Diego Marinho

Vamos supor que seu HTML tenha algo parecido com isso aqui :
  <div class="box">
       <label for="i1"> Nome           : <input type="text" id="i1">         </label>
       <label for="i2"> Sobrenome  : <input type="text"  id="i2">        </label>
       <label for="i3"> Cidade          : <input type="text"  id="i3" >       </label>
       <label for="i4"> Bairro            : <input type="text"  id="i4" >       </label>
       <label for="i5"> Idade             : <input type="number"  id="i5"> </label>
        <button class="finalizar">
            Finalizar
        </button>
    </div>


Você poderia usar o readonly para "desabilitar as inputs"
O javascript ficaria , assim :

1
2
3
4
5
6
7
8
9
const inputs    = document.querySelector('.box').querySelectorAll('input')
const finalizar = document.querySelector('.finalizar')
 
finalizar.addEventListener('click',()=>{
 
    for(let v of inputs){
        v.setAttribute('readonly', 'readonly')
    }
})


basicamente você roda um loop e seta o readonly para todas as inputs.
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar