Ir para conteúdo

Arquivado

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

tuhajo

Função para checkbox

Recommended Posts

Boa Tarde.

 

Preciso criar uma função para habilitar a TEXT somente quando o CHECKBOX for marcado.

Como faço isso?

 

Grata.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O que você não sabe fazer?

pra desabilitar um input text, você pode acessar a propriedade: .disabled dele.

Ou então trabalhar com o .readonly

 

No onclick do chekbox, você chama a função, passando como parâmetro pra ela o ID do input em questão.

Assim fica fácil de trabalhar. Tentou fazer? como?

 

Onde não conseguiu?

 

Exemplo:

<script type="text/javascript">
function id( el ){
	return document.getElementById( el );
}
function ativaInput( el )
{
	var input = id( el );
	if( input.disabled==false )
		input.disabled = true;
	else
		input.disabled = false;
}
</script>

	<input type="checkbox" name="ativa" value="s" onclick="ativaInput('busca')" />
	<input type="text" name="busca" id="busca" value="Busca" />

Compartilhar este post


Link para o post
Compartilhar em outros sites

O problema é que eu não posso usar o disabled pq os checks e txts são criados dinamicamente.

O que eu preciso é qdo eu selecionar um chk habilite a caixa de texto. Eu tenho que fazer o split do chk e do txt, só que qdo eu faço o split, ele me retorna por exemplo chk: 2,5,7 txt: ,a,,,b,,c,,,,,,,,

Ou seja, ele traz os chks certo pois selecionei só 3 itens... mas ele traz todos os txts da lista.

Então queria ver se eu fazendo uma função em javascript habilitando somente os q selecionei funciona.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Coloquei ali em cima uma função para desativar o input.. mas isso não vai resolver pelo que você descreveu.

Posta o html com o teu código do split, para ficar clara a real situação.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenho esse código criado dinamicamente, ele pode vir várias linhas:

<tr>
<td><input name="chk_tipo_servico" tabindex="18" type="checkbox" value="45">SERVIÇO 1</td>
<td><input name="txtObsTipoServico" type="text" size="60"></td>
</tr>


chk_tipo_servico = split(request.Form("chk_tipo_servico"),",")
txtObsTipoServico = split(request.Form("txtObsTipoServico"),",")

For x=0 to UBound(chk_tipo_servico)	

servico= "INSERT INTO TABELA(COD_SERVICO, DSC_OBS_SERVICO) VALUES ('"&chk_tipo_servico(x)&"','"&txtObsTipoServico(x)&"')"
Set RsServico = ConBanco.execute(servico)

next

Eu preciso pegar o resultado do checkbox e do campo texto e inserir na tabela.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas ai é ASP e não Javascript, ne?!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas ai é ASP e não Javascript, ne?!

 

É... eu tava fazendo em asp mas não consegui resolver no fórum de asp e falaram pra eu criar uma função em javascript para ver se funcionava.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tá, a função que você pediu no inicio do topico, é esta:

Exemplo:

<script type="text/javascript">
function id( el ){
	return document.getElementById( el );
}
function ativaInput( el )
{
	var input = id( el );
	if( input.disabled==false )
		input.disabled = true;
	else
		input.disabled = false;
}
</script>

	<input type="checkbox" name="ativa" value="s" onclick="ativaInput('busca')" />
	<input type="text" name="busca" id="busca" value="Busca" />
Testou ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

pode explicar melhor?

A função funciona isoladamente.. se você clicar no checkbox, ela desabilita o input cujo id você passar como parâmetro.

 

Do que você precisa ?

Oque não aconteceu que deveria ?

 

 

ajuda a te ajudar... ainda não vi saida Javascript pra o teu problema.

analisando:

chk: 2,5,7 txt: ,a,,,b,,c,,,,,,,,

se te trouxe sem valor nenhum, bastaria fazer um teste e excluir do array as posições sem valor, ainda com a linguagem server-side.

 

você não consegue fazer um teste no split, para remover as posições que tiverem com valor nulo? (usando ASP)?

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.