Ir para conteúdo

POWERED BY:

Arquivado

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

willwalker

[Resolvido] Função sempre preenche valor em input

Recommended Posts

Segue o simples código:

 

function CheckUm(chk){
document.getElementById('deletar_selecionados').value = document.getElementById('deletar_selecionados').value + chk;
}

Segue o html do checkbox:

 

<input name="cadastro" type="checkbox" id="cadastro" value="50;" onClick="CheckUm('50;');" />

Segue imagem do input text:

 

Imagem Postada

 

Preciso que ao desselecionar o checkbox ele retire o valor que ele preencheu antes, porque são vários checkbox, e se eu for selecionando ele vai preenchendo mas se eu desselecionar ele tambem preenche e o certo seria ele retirar somente o valor que envia pelo onClick.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você pode criar uma maneira de verificar se o checkbox está checado ou não. Se estiver checado, a função atribui um valor ao campo texto. Se não estiver marcado, o campo texto recebe valor vazio.

 

Veja o código abaixo:

<html>
<head>
<script type="text/javascript">
function CheckUm(id,chk) {
var objText = document.getElementById("valor"+id);
var objCheckBox = document.getElementById("cdt"+id);

	if (objCheckBox.checked) {
		objText.value = chk;
	}else{
		objText.value = "";
	}
}
</script>
</head>
<body>
<form name="form1">
<input type="text" name="valor0" id="valor0"><input type="checkbox" name="cadastro" id="cdt0" onclick="CheckUm(0,'50;');">
<br><input type="text" name="valor1" id="valor1"><input type="checkbox" name="cadastro" id="cdt1" onclick="CheckUm(1,'70;');">
<br><input type="text" name="valor2" id="valor2"><input type="checkbox" name="cadastro" id="cdt2" onclick="CheckUm(2,'160;');">
</form>
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Estou tentando criar uma função assim:

 

function CheckUm(chk,input_box){
var input = document.getElementById(input_box).checked;
if(input == true){
document.getElementById('deletar_selecionados').value = document.getElementById('deletar_selecionados').value + chk;
}else{
document.getElementById('deletar_selecionados').value.replace(/chk/gi,'');
}
}

Mas eu preciso que realmente ele verifique se o valor do inpur é igual ao chk e remova-o, porque são varios ids que vou selecionando separadamente, exemplo de um input text com todos os ids:

 

Imagem Postada

 

Essa função funciona ao selecionar o checkbox, mas se desseleciono não acontece nada. Só gostaria que ele apaga-se entende ?

 

Abraços Walker http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa! Consegui resolver, não sabia que usando dessa forma ele tambem aceitava, deveria ter testado antes de postar, obrigado pela ajuda. Segue o código:

 

function CheckUm(chk,input_box){
var input = document.getElementById(input_box).checked;
if(input == true){
document.getElementById('deletar_selecionados').value = document.getElementById('deletar_selecionados').value + chk;
}else{
document.getElementById('deletar_selecionados').value = document.getElementById('deletar_selecionados').value.replace('[b]'+chk+'[/b]','');
}
}

Segue o HTML do checkbox:

 

<form action="" method="post" name="formulario">
<?php $i = 0; while($aa = mysql_fetch_array($sql)){ $i++; ?>
<input name="cadastro" type="checkbox" id="<?=$i?>" value="<?=$aa['id']?>;" onClick="CheckUm('<?=$aa['id']?>;','<?=$i?>');"  />
<?php } ?>
</form>

Abraços Walker

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.