Ir para conteúdo

POWERED BY:

Arquivado

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

PL86

Habilitar text se checkbox tiver marcado

Recommended Posts

Olá!

 

tenho o seguinte código:

 

<input name="ret" type="checkbox" id="ret" value="R"> <input name="num_ordem" type="text" id="codigo_ass2" size="12" readonly="" value="<? if($dados_con['EDC_IN_ORD']){ 		  echo $dados_con['EDC_IN_ORD']; } else { 	echo $data_seq;   } ?>">

Se este checkbox "ret" for marcado, este campo "num_ordem" que já vem com um valor automático, pode ser digitado e ficar em branco. Se desmarcado, volta aos valores normais.

 

Como eu poderia fazer isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Veja esse exemplo

 

<input type="text" name="nome" id="nome" value="valor padrao" disabled/><input type="checkbox" name="check" id="check" onclick="if(this.checked) {document.getElementById('nome').value = '';} document.getElementById('nome').disabled = !this.checked;"/>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Veja esse exemplo

<input type="text" name="nome" id="nome" value="valor padrao" disabled/><input type="checkbox" name="check" id="check" onclick="if(this.checked) {document.getElementById('nome').value = '';} document.getElementById('nome').disabled = !this.checked;"/>
beleza! Funcionou!mas tem um detalhe. Se eu desmarcar, ele fica desabilitado, mas não retorna o value que deveria ter.E como eu adicionaria pra acontecer a mesma coisa quando for marcado o checkbox?

Compartilhar este post


Link para o post
Compartilhar em outros sites

troca disabled por readonly e tira

if(this.checked) {document.getElementById('nome').value = '';}
vai ficar assim

<input type="text" name="nome" id="nome" value="valor padrao" readonly/><input type="checkbox" name="check" id="check" onclick="document.getElementById('nome').disabled = !this.checked;"/>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Só põe o valor no else

 

<input type="text" name="nome" id="nome" value="valor padrao" disabled/><input type="checkbox" name="check" id="check" onclick="if(this.checked) {document.getElementById('nome').value = '';} else { document.getElementById('nome').value = 'valor padrao'; } document.getElementById('nome').disabled = !this.checked;"/>

Valeu!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

troca disabled por readonly e tira

if(this.checked) {document.getElementById('nome').value = '';}
vai ficar assim
<input type="text" name="nome" id="nome" value="valor padrao" readonly/><input type="checkbox" name="check" id="check" onclick="document.getElementById('nome').disabled = !this.checked;"/>
Dessa forma, o text vem desabilitado e com o valor dele. Se eu marcar o checkbox, ele fica readonly, não deixando escrever no campo.Quando marcar o checkbox, eu preciso escrever no campo. Desmarcando, ele fica com o valor inicial e readonly ou disabled. E como eu posso utilizar o mesmo checkbox pra fazer a mesma coisa em outro campo text?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Só põe o valor no else

<input type="text" name="nome" id="nome" value="valor padrao" disabled/><input type="checkbox" name="check" id="check" onclick="if(this.checked) {document.getElementById('nome').value = '';} else { document.getElementById('nome').value = 'valor padrao'; } document.getElementById('nome').disabled = !this.checked;"/>
Valeu!!!
beleza, funcionou legal! Obrigado pessoal!

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.