Ir para conteúdo

POWERED BY:

Arquivado

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

PauloRJ

[Resolvido] Var nao pega valor pela funcao

Recommended Posts

tenho este codigo que habilita e desabilita os campos.

quando escrevo direto o nome do campo funciona corretamente.

mas agora preciso dele dinamico e percebi que cada campo deve ter nome diferente para que a função funcione.

fiz um for passando o numero do campo e juntando na função. pelo alert vejo q recebe corretamente mas nao funciona nem a pohada!

 

segue funcao sem a dinamica funcionando corretamente:

<script language="JavaScript">

function habilita()
{
	var form = document.form1;

	if(form.excluir.checked) 
	{ // se campo estiver marcado
		form.destaque.disabled 		= true;
		form.destaque_tipo.disabled = true;
	}
	else
	{ //Se não,
		form.destaque.disabled 		= false;
		form.destaque_tipo.disabled = false;
	}
}

function habilita2()
{
	var form = document.form1;
	
	if(form.destaque.checked) 
	{ // se campo estiver marcado
		form.excluir.disabled = true;
	}
	else
	{ //Se não,
		form.excluir.disabled = false;
	}
}

</script>

Chamando a função assim:

<body>

<form name="form1"  action="#" method="post">

<input type="checkbox" name="excluir"  onClick='javascript:habilita();'>Excluir
<input type="checkbox" name="destaque" onClick='javascript:habilita2();'>Destaque

<select name="destaque_tipo"> 
    <option value="galeria" selected>Galeria</option>
</select>

</form>
</body>

 

agora com a ideia de dinamica que nao funciona.

 

<script language="JavaScript">

function habilita(numero)
{
	var form = document.form1;

	var campo1 = 'excluir_'+numero; // campo chave = excluir
	var campo2 = 'destaque_'+numero;
	var campo3 = 'destaque_tipo_'+numero;
		
	if(form.campo1.checked) 
	{ // se campo estiver marcado
		form.campo2.disabled = true;
		form.campo3.disabled = true;
	}
	else
	{ //Se não,
		form.campo2.disabled = false;
		form.campo3.disabled = false;
	}
}

function habilita2(numero)
{
	var form = document.form1;

	var campo1 = 'destaque_'+numero; // campo chave = destaque

	var campo2 = 'excluir_'+numero;
		
	if(form.campo1.checked) 
	{ // se campo estiver marcado
		form.campo2.disabled = true;
	}
	else
	{ //Se não,
		form.campo2.disabled = false;
	}
}
</script>

<form name="form1" id="form1" action="#" method="post">

<?php
$total = 1;
for($i=0;$i<$total;$i++) {
?>
<input type="checkbox" name="excluir_<?php echo $i; ?>"  onClick='javascript:habilita(<?php echo $i; ?>);'>Excluir
<input type="checkbox" name="destaque_<?php echo $i; ?>" onClick='javascript:habilita3(<?php echo $i; ?>);'>Destaque

<select name="destaque_tipo_<?php echo $i; ?>"> 
    <option value="galeria" selected>Galeria</option>
</select>
<br><hr>
<?php } ?>

</form>

Compartilhar este post


Link para o post
Compartilhar em outros sites

RESOLVIDO!

 

Muito google rs

Fala rapaziada consegui resolver:

como concatenar a variavel

 

<script language="JavaScript">
function habilita(campo,numero)
{
	var form = document.form1;

	var campo1 = 'destaque_'+numero;
	var campo2 = 'destaque_tipo_'+numero;
	
	if(campo.checked==true)
	{ 
		form.elements[campo1].disabled = true;
		form.elements[campo2].disabled = true;
	}
	else
	{ 
		form.elements[campo1].disabled = false;
		form.elements[campo2].disabled = false;
	}
}

function habilita2(campo,numero)
{
	var form = document.form1;

	var campo1 = 'excluir_'+numero;
	
	if(campo.checked==true)
	{ 
		form.elements[campo1].disabled = true;
	}
	else
	{ 
		form.elements[campo1].disabled = false; 
	}
}
</script>

<form name="form1" id="form1" action="#" method="post">

<?php $total = 10; for($i=1;$i<=$total;$i++) { ?>

<input type="checkbox" name="excluir_<?php echo $i; ?>"  onClick='javascript:habilita(this,<?php echo $i; ?>);'>Excluir
<input type="checkbox" name="destaque_<?php echo $i; ?>" onClick='javascript:habilita2(this,<?php echo $i; ?>);'>Destaque

<select name="destaque_tipo_<?php echo $i; ?>"> 
	<option value="galeria" selected>Galeria</option>
</select>
<br><hr>
<?php } ?>

</form>

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.