Ir para conteúdo

POWERED BY:

Arquivado

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

luan Fauth

[Resolvido] checkbox abre parte oculta do formulário

Recommended Posts

estou fazendo um formulário, e o usuário que for cadastrar vai ter uma opção com checkbox que quando selecionada abre em seguida uma aba, ou melhor dizendo um frame logo abaixo com mais três ou quatro campos do formulários para preencher, sei que isso pode ser feito com js... mas não sei como fazer!

 

alguem ajuda plz!

 

 

Grato.

Compartilhar este post


Link para o post
Compartilhar em outros sites

estou fazendo um formulário, e o usuário que for cadastrar vai ter uma opção com checkbox que quando selecionada abre em seguida uma aba, ou melhor dizendo um frame logo abaixo com mais três ou quatro campos do formulários para preencher, sei que isso pode ser feito com js... mas não sei como fazer!

 

alguem ajuda plz!

 

 

Grato.

 

esta parte resolvida:

 

 

 

<script>

function toggle()
{
		// sempre que adicionar uma div nova, é só você colocar aqui o id dela que vai funcionar pra ela tb.
   
 if ((document.getElementById('autor').checked) || (document.getElementById('colaborar').checked)){
	
	document.getElementById('tabela').style.display = "block";			
	
 }else{
	
	document.getElementById('tabela').style.display = "none";
	}	
}

</script>

se um ou outro está selecionado ele abre a parte oculta que no caso é uma tabela chamada "tabela" e mostra para o usuário:

 

<table style="display: none;" id="tabela">
  <tr>
	<td class="titulo"><div align="right">telefone : </div></td>
	<td class="borda_cinza_solida"><input name="fone" type="text" class="input" id="fone" value="<?=$mod->reg->PES_FONE?>" size="50" /></td>
  </tr>
  <tr>
	<td class="titulo"><div align="right">e-mail : </div></td>
	<td class="borda_cinza_solida"><input name="email" type="text" class="input" id="email" value="<?=$mod->reg->PES_EMAIL?>" size="50" /></td>
	</tr>
  <tr>
	<td class="titulo"><div align="right">senha : </div></td>
	<td class="borda_cinza_solida"><input name="senha" type="password" class="input" id="senha" size="50" /></td>
  </tr>
  <tr>
	<td class="titulo"><div align="right">lembrete de senha : </div></td>
	<td class="borda_cinza_solida"><input name="lem_senha" type="text" class="input" id="lem_senha" size="50" /></td>
  </tr>
  </table>

 

 

mas agora a duvida é outra, se no banco o checkbox do colaborador ou do autor está marcado como 'S'(sim), e a pessoa quer alterar esse cadastro... como faço pra pegar este valor e fazer com que o checkbox receba este valor e abra a aba de formulário que está oculta???

 

tentei fazer com if:

 

<?php
  $stat1 = $mod->reg->stat1;
  
  if ($stat1 == 'S')
		$check == 'checked';
	
  if ($stat1 == '')
	$check == 'unchecked';

   $stat2 = $mod->reg->stat2;
  
  if ($stat2 == 'S')
	  $check2 == 'checked';
	
  
  if ($stat2 == '')
	  $check2 == 'unchecked';

	  
  ?>
	<td class="titulo"><div align="right">colaborador : </div></td>
	<td class="borda_cinza_solida">

	<input name="colaborar" type="checkbox" class="input"  id="colaborar" onChange="toggle();" value="S" <?=$check?>>	</td>
  </tr>
	<tr>
	<td class="titulo"><div align="right">autor : </div></td>
	<td class="borda_cinza_solida"><input name="autor" type="checkbox" class="input" id="autor" value="S"   onChange="toggle();" <?=$check2?>></td>
   </tr>

 

ele até mostra o checkbox com o v-zinho mas não mostra a tabela com o resto do formulário, dai eu vou lá e clico no box e ele abre...

 

se alguem souber como resolver isso... grato pela ajuda!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente deixar seu PHP assim:

 

<?php
$check = $check2 = '';
$stat1 = $mod->reg->stat1;
$stat2 = $mod->reg->stat2;

if ($stat1 == 'S') $check = 'checked="checked"';
if ($stat2 == 'S') $check2 = 'checked="checked"';

?>

Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente deixar seu PHP assim:

 

<?php
$check = '';
$stat1 = $mod->reg->stat1;
$stat2 = $mod->reg->stat2;

if ($stat1 == 'S') $check = 'checked="checked"';
if ($stat2 == 'S') $check = 'checked="checked"';

?>

Abraços!

 

 

salvei o form com o check selecionado... voltei para alterar e ele retornou deselecionado... novamente... :mellow:

Compartilhar este post


Link para o post
Compartilhar em outros sites

mandei errado! Mals ae mano! Faltou uma variável! ehehe..

 

Corrigi o post... olha lá!

Compartilhar este post


Link para o post
Compartilhar em outros sites

mandei errado! Mals ae mano! Faltou uma variável! ehehe..

 

Corrigi o post... olha lá!

 

não não... ainda num deu... to começando a achar que isso não vai ter muita solução... ou será que...

 

se eu fizer outra página de edição... só que ai um com os campos a + claro.. que só vai pra essa se o um dos valores for 'S' caso não, vai pra a página padrão para editar o cara... mas dai se for editado ele aparece o campos a mais... e vice-versa...!!!

 

 

bingo!!!

 

acho que vpcê não vai intender muita coisa do que eu quis dizer ai... mas axo q será a solução.

 

 

valeu!

Compartilhar este post


Link para o post
Compartilhar em outros sites

mandei errado! Mals ae mano! Faltou uma variável! ehehe..

 

Corrigi o post... olha lá!

 

não não... ainda num deu... to começando a achar que isso não vai ter muita solução... ou será que...

 

se eu fizer outra página de edição... só que ai um com os campos a + claro.. que só vai pra essa se o um dos valores for 'S' caso não, vai pra a página padrão para editar o cara... mas dai se for editado ele aparece o campos a mais... e vice-versa...!!!

 

 

bingo!!!

 

acho que vpcê não vai intender muita coisa do que eu quis dizer ai... mas axo q será a solução.

 

 

valeu!

 

 

 

 

 

aqui está!!!

 

 

achei a solução...

 

 

/*colocando este código depois de tudo que tem na página, após ele carregar todo o html e o php ele vai fazer o teste para ver os parametros de satisfação pra então mostrar o que eu quero que moste... 
*/

 <?
  if ((($mod->reg->PES_COLABORADOR == 'S')) || ($mod->reg->PES_AUTOR == 'S')){
  ?>
  <script>
		document.getElementById('tabela').style.display = "block";			
  </script>
  <? }else{?>
  <script>  
		document.getElementById('tabela').style.display = "none";
  </script>		  
  <?
  }
  ?>

 

não entendi bem a esplicação que me deram mas é algo do tipo... parametros de controle de javascrpt...

 

 

dai no formulário lá em cima ele fica assim:

 

 

<input name="colaborar" type="checkbox" class="input"  id="colaborar" value="S" <? if ($mod->reg->PES_COLABORADOR == 'S'){?>checked<? }?> onChange="toggle();">

<input name="auto" type="checkbox" class="input"  id="autor" value="S" <? if ($mod->reg->PES_AUTOR== 'S'){?>checked<? }?> onChange="toggle();">

 

é isso ai... se alguem se deparar com essas coisas ai e precisar... tá ai completinho e funfando... só não sei como vai ser com os meus parametros de função... mas isso se ajeita!

 

valeu pela ajuda ai berkowitz.

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.