Desabilitar Inputs baseado em evento Click de RadioButton

01/09/2020

0

Bom dia pessoal! Estou desenvolvendo um sistema para criação de provas, e estou criando uma tela para editar as questões criadas e que já estão salvas no banco de dados. Ao selecionar a questão existem dois radio buttons que buscam no banco de dados o tipo da questão (Dissertativa ou Objetiva) de acordo com o tipo já cadastrado na tela de criação da questão. Ou seja ele busca o valor no banco e marca o radio button conforme o tipo da questão. Se a questão é Objetiva o sistema habilita o campo enunciado e as alternativas de A a E. E se for Dissertativa ele desabilita as alternativas e habilita o enunciado. O que está acontecendo é que se a questão é Dissertativa o sistema busca os dados e desabilita as alternativas, mas se eu busco a questão como Objetiva ele habilita o campo Enunciado, mas não está habilitando as alternativas, mas se eu clico no radio button Objetiva ele habilita as Alternativas. Segue estrutura do código:

function disableAlternativas() {
            document.getElementById('enunciado').disabled=false;
            document.getElementById('resposta_A').disabled=true;
            document.getElementById('resposta_B').disabled=true;
            document.getElementById('resposta_C').disabled=true;
            document.getElementById('resposta_D').disabled=true;
            document.getElementById('resposta_E').disabled=true; 
        }

        function enableAlternativas() {
            document.getElementById('enunciado').disabled=false;
            document.getElementById('resposta_A').disabled=false;
            document.getElementById('resposta_B').disabled=false;
            document.getElementById('resposta_C').disabled=false;
            document.getElementById('resposta_E').disabled=false;
            document.getElementById('resposta_D').disabled=false;
        }


<div class="form-check">
                    <input class="form-check-input" type="radio" name="tipo" id="rbDissertativa" value="D" required <?php echo ($tipo == 'D') ? 'checked' : ''; ?> onclick="disableAlternativas(), limpaCampo()"> 
                    <label class="form-check-label" for="dissertativa">Dissertativa</label>
               </div>

               <div class="form-check">
                   <input class="form-check-input" type="radio" name="tipo" id="rbObjetiva" value="O" required <?php echo ($tipo == 'O') ? 'checked' : ''; ?> onclick="enableAlternativas()">  
                   <label class="form-check-label" for="objetiva" >Objetiva</label>
               </div>

                <label for="enunciado">Enunciado: </label>
                <input type="text" id="enunciado" class="col-sm-6 col-form-label" name="enunciado" size="500" maxlength="500" placeholder="Enunciado" value="<?php echo $enunciado; ?>" <?php echo $podeAlterar; ?>><br><br>
       
                <label for="a">A) </label>
                <input type="text" id="resposta_A" class="col-sm-6 col-form-label" name="resposta_A" size="200" maxlength="200" placeholder="Alternativa A" value="<?php echo $resposta_A; ?>" <?php echo $podeAlterar; ?> disabled><br><br>

                <label for="b">B) </label>
                <input type="text" id="resposta_B" class="col-sm-6 col-form-label" name="resposta_B" size="200" maxlength="200" placeholder="Alternativa B" value="<?php echo $resposta_B; ?>" <?php echo $podeAlterar; ?> disabled><br><br>

                <label for="c">C) </label>
                <input type="text" id="resposta_C" class="col-sm-6 col-form-label" name="resposta_C" size="200" maxlength="200" placeholder="Alternativa C" value="<?php echo $resposta_C; ?>" <?php echo $podeAlterar; ?> disabled><br><br>

                <label for="d">D) </label>
                <input type="text" id="resposta_D" class="col-sm-6 col-form-label" name="resposta_D" size="200" maxlength="200" placeholder="Alternativa D" value="<?php echo $resposta_D; ?>" <?php echo $podeAlterar; ?> disabled><br><br>

                <label for="e">E) </label>
                <input type="text" id="resposta_E" class="col-sm-6 col-form-label" name="resposta_E" size="200" maxlength="200" placeholder="Alternativa E" value="<?php echo $resposta_E; ?>" <?php echo $podeAlterar; ?> disabled><br><br>

Fernando Moreira

Fernando Moreira

Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

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

Aceitar