Bloquear todas as caixas de texto após clicar em um botão

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 :



    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

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

Aceitar