Ir para conteúdo
Fórum Script Brasil
  • 0

Habilitar / Desabilitar Radio Buttons Atraves De Outro Radio


Fernanda!

Pergunta

Olá Pessoal!

Bem, estou com um contratempo, que não há meio de conseguir resolvê-lo.

Eu tenho um form com dois radio buttons para responder sim e não. Se a resposta selecionada for Sim, ele deve habilitar uma seqüência de radios, que correspondem a 5 grupos de perguntas; se Não desabilitar todos esses radio. Muito simples, aparentemente. Para explicar melhor, coloco como está essa parte do meu código:

<input type="radio" name="radDaq1" value="1" onClick="java script: habilitaGrupo();"> Sim 
<input type="radio" name="radDaq1" value="0" onClick="java script: habilitaGrupo();"> Não 

Pergunta 1
<input type="radio" name="chkQdV1" value="1">1
<input type="radio" name="chkQdV1" value="2">2 
<input type="radio" name="chkQdV1" value="3">3 
<input type="radio" name="chkQdV1" value="4">4
<input type="radio" name="chkQdV1" value="5">5

Pergunta 2
<input type="radio" name="chkQdV2" value="1">1
<input type="radio" name="chkQdV2" value="2">2 
<input type="radio" name="chkQdV2" value="3">3 
<input type="radio" name="chkQdV2" value="4">4
<input type="radio" name="chkQdV2" value="5">5

Pergunta 3
<input type="radio" name="chkQdV3" value="1">1
<input type="radio" name="chkQdV3" value="2">2 
<input type="radio" name="chkQdV3" value="3">3 
<input type="radio" name="chkQdV3" value="4">4
<input type="radio" name="chkQdV3" value="5">5

Pergunta 4
<input type="radio" name="chkQdV4" value="1">1
<input type="radio" name="chkQdV4" value="2">2 
<input type="radio" name="chkQdV4" value="3">3 
<input type="radio" name="chkQdV4" value="4">4
<input type="radio" name="chkQdV4" value="5">5

Pergunta 5
<input type="radio" name="chkQdV5" value="1">1
<input type="radio" name="chkQdV5" value="2">2 
<input type="radio" name="chkQdV5" value="3">3 
<input type="radio" name="chkQdV5" value="4">4
<input type="radio" name="chkQdV5" value="5">5

<input name="txtteste" type="text">
Pesquisando na internet, encontrei algumas formas de habilitar e desabilitar campos. Porém... nenhuma dessas alternativas funciona com os meus buttons! E não tem porquê, pois efetuei o teste no Javascript abaixo com um textbox e ele habilitou e desabilitou sem problemas o mesmo. Estou comendo bola em alguma coisa... mas não consigo descobrir em quê! ¬¬ Segue o código que estou utilizando, que só não funciona com os radio (neste caso, pedi para habilitar e desabilitar apenas a pergunta 1 e o textbox... e não reparem na minha maravilhosa otimização de código):
function habilitaGrupo() {
  total = document.form1.elements.length;
  for(i=0; i<=total-1; i++) {
    if(document.form1.elements[i].name == 'radDaq1') {
      if(document.form1.elements[i].checked == true) {
        if(document.form1.elements[i].value == 1) {
          document.form1.chkQdV1.disabled = false;
          document.form1.txtteste.disabled = false; //este funciona, de acordo com a seleção
        }
        else {
          document.form1.chkQdV1.disabled = true;
          document.form1.txtteste.disabled = true; //este funciona, de acordo com a seleção
        }
      }
    }
  }
}

Eu agradeço quem puder me ajudar a descobrir essa pane!

Fernanda!

Editado por Fernanda!
Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Olha eu montei aqui, nem olhei nos codigos prontos... seria bom voce ver se tem alguma maneira melhor...

ai vai (exemplo feito com 1 pergunta)

<script>
function habilitaGrupo(valor_pergunta) {
  total = document.form1.elements.length;


if (valor_pergunta == 1)
{
  for(i=0; i<=total-1; i++) 
  {
    if(document.form1[i].id == "muda")
    {
      document.form1[i].disabled = false;
    }
  }
}
else
{
  for(i=0; i<=total-1; i++) 
  {
    if(document.form1[i].id == "muda")
    {
      document.form1[i].disabled = true;
    }
  }
}
}

</script>
<form name="form1">
<input type="radio" name="radDaq1" value="1" onClick="java script: habilitaGrupo(this.value);"> Sim 
<input type="radio" name="radDaq1" value="0" onClick="java script: habilitaGrupo(this.value);"> Não 
<br>
Pergunta 1
<input type="radio" name="chkQdV1" value="1" id="muda" disabled>1
<input type="radio" name="chkQdV1" value="2" id="muda" disabled>2 
<input type="radio" name="chkQdV1" value="3" id="muda" disabled>3 
<input type="radio" name="chkQdV1" value="4" id="muda" disabled>4
<input type="radio" name="chkQdV1" value="5" id="muda" disabled>5
<br>


<input name="txtteste" type="text" id="muda" disabled>

Testado e funcionando no IE

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      651,9k
×
×
  • Criar Novo...