Habilitar campo quando Checkbox é selecionado[RESOLVIDO]

Boa noite!
Ainda estou com a mesma dúvida … postei um tempo atrás mas não obtive retorno se alguém puder ajudar desde ja agradeço!

Seu if está errado:

function habilita(){ if (document.getElementById('cadastroEmpresaReceitaForm:check').checked = true){ document.getElementById('cadastroEmpresaReceitaForm:textArea').disabled = false; } }

para comparar voce deve usar o operador ‘==’ e não apenas ‘=’.

Para ver como usar um checkbox como flag veja esse post: http://programadorprofissional.blogspot.com.br/2012/09/marcardesmarcar-todos-checkboxes-com.html

só que ao inves de marcar outros checkboxes voce dá o disabled=true ou = false no textarea.

att

Pequeno exemplo:

<html>
<head>
<script type="text/javascript">
function habilitar(){
	if(document.getElementById('check').checked){
		document.getElementById('textArea').disabled = true;
	} else {
		document.getElementById('textArea').disabled = false;
	}
}
</script>
</head>
<body>
	<label style="cursor: pointer;">
		<input type="checkbox" id="check" onclick="habilitar();" /> Desabilitar/Habilitar
	&lt;/label&gt;<br/>
&lt;textarea id="textArea" cols="30" rows="10" &gt;
&lt;/textarea&gt;
&lt;/body&gt;
&lt;/html&gt;

Como dito pelo amigo acima, seu if está sendo atribuido um valor ao elemento, use == ao invez de = para fazer comparações.

Muito obrigado linconti e Gustavo Marques pela ajuda!

Consegui resolver aqui o problema ficou assim:
no meu caso o textArea ja vinha como disabled=“true” ai foi só mudar a logica!

function habilitar(){  
    if(document.getElementById('cadastroEmpresaReceitaForm:check').checked){  
        document.getElementById('cadastroEmpresaReceitaForm:textArea').disabled = false;  
    } else {  
        document.getElementById('cadastroEmpresaReceitaForm:textArea').disabled = true;  
    }  
} 

mas tem uma coisa que me deixou curioso o código JavaScript só funcionou quando coloquei o nome do form sabem me dizer o porque?

o id do seu textarea foi renderizado como cadastroEmpresaReceitaForm:textArea. Por isso você teve que colocar assim.

Saquei!

Obrigado.