Ir para conteúdo

POWERED BY:

Arquivado

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

Paula Alves

Inicializar checkbox desabilitado

Recommended Posts

Olá :)

 

Estou com o seguinte problema:

 

Estou fazendo um formulário em HTML e algumas opções de questões só são habilitadas se a resposta de outra anterior for 'Sim'.

 

Até aí ok, consegui fazer a função que habilita ou desabilita com o clique! O problema é que, o ideal seria que inicialmente a opção 'Não' já estivesse habilitada, fazendo com que as outras questões iniciassem desabilitadas. Isso não acontece se eu colocar simplesmente checked na opção 'Não'.

 

As outras opções só são desabilitadas a partir do primeiro momento que eu clico em 'Não'...

 

Se tiver outra maneira ao invés do 'onClick' que eu não saiba, ajudaria bastante.

 

Não sei se fui clara o bastante, se alguém puder ajudar :)

 

Uma parte do código:

 

    <tr>
     <td>6.Utiliza canais de comunicação para realização de trabalhos acadêmicos em grupo? </td></tr>
     <tr>
     <td><input name="q6" type="radio" value="Sim" onClick="habilitaGrupo('Sim','q6_1[]');" />
       Sim
<br><input name="q6" type="radio" value="Nao" onClick="habilitaGrupo('Nao','q6_1[]');" />
 Não  </td> 
    </tr>


   <tr>
     <td>6.1 Quais canais? </td></tr>
     <tr>
     <td><input name="q6_1[]" type="checkbox" value="a" />
       Skype  
<br><input name="q6_1[]" type="checkbox" value="b"/>
       Facebook
<br><input name="q6_1[]" type="checkbox" value="c" />
MSN  
<br><input name="q6_1[]" type="checkbox" value="d" />
       Listas de e-mail (Yahoo, Google, etc.)   
<br><input name="q6_1[]" type="checkbox" value="e" onclick="ativaInput('outros')" />
  	Outros:<input type="text" name="q6_1[]" id="outros" /></td></tr>	
 </td>
   </tr>

 

A função:

 

</script>
<script type="text/javascript">

function habilitaGrupo(valor, nome ) {

 var elementos = document.getElementsByTagName("input");

 for (i=0; i<=elementos.length-1; i++)
 {
         if ( (valor=='Sim') && (elementos[i].name == nome) )
       {
               elementos[i].removeAttribute("disabled");
       }
       else if ( (valor=='Nao') && (elementos[i].name == nome) )
       {
               elementos[i].setAttribute("disabled","disabled");
       }
 }

}
</script>

 

Valeu :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para já deixar os campos desabilitados por padrão, é só usar a tag disabled inserida no código HTML.

 

<input type="text" name="name" disabled="disabeld" />

 

É melhor usar o evento onchange, que dispara quando o valor de um campo é alterado.

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.