Desabilitar Inputs baseado em evento Click de RadioButton
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
Curtidas 0