Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Fernanda!!!

Javascript - Habilitar / desabilitar radio buttons

Recommended Posts

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">5Pergunta 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">5Pergunta 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">5Pergunta 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">5Pergunta 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 e matar essa pane!

Fernanda!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faz assim:

 

function habilitaGrupo(valor) {  var elementos = document.getElementsByTagName("input");    for (i=0; i<=elementos.length-1; i++)  {	  if ( (valor==1) && (elementos[i].name == "chkQdV1") )	{		elementos[i].removeAttribute("disabled");	}	else if ( (valor==0) && (elementos[i].name == "chkQdV1") )	{		elementos[i].setAttribute("disabled","disabled");	}  }  }

e na chamada da função, passa como parâmetro "this.value"

 

<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

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.