Ir para conteúdo
Fórum Script Brasil
  • 0

Dados no Próprio Formulário


Labroskas

Pergunta

Boa Tarde,

Tenho uma página onde tenho Três Forms, dos quais dois (Novo/Editar) estão ocultos(Display=none), e tenho o primeiro form que é onde mostro os dados em forma de grid, nesse form tenho as opções Novo e Editar, as quais activam o Form 2 ou Form 3, dependendo da escolha efectuada pelo utilizador.

A opção Novo funciona lindamente, já a opção Editar não funciona, porque eu preciso levar o ID do registo para saber qual vou editar, a questão é que não consigo passar o ID.

<div>
  <form id="form1" name="frm_dados" method="post" action="ger_utilizador.php?WW=112233">
    
    <a href="javascript:" onclick="MostraDiv(form1)"> <img src="../images/add.png" width="22%" title="Adicionar Registo"/></a>

    <a name="cod_edit" href="javascript:" onclick="MostraDiv(form2)"><img src="../images/edit.png" width="22%" title="Editar Registo"/></a>
    
    <a href="elim_geral.php?id=<?php echo $linha['num_aut'];?>&cod_form=ger_util&nome_form=ger_utilizador" onclick="return MsgBoxElim()"><img src="../images/elim.png" width="22%" title="Eliminar Registo"/></a>

  </form>

  <form id="form2" name="frm_ins_utilizador" method="POST" action="ins_geral.php?cod_form=ger_util&nome_form=ger_utilizador" style="display:none;">

  </form>

  <form id="form3" name="frm_ins_codcp" method="post" action="alt_geral.php?id=<?php echo $linha['num_aut'];?>&cod_form=ger_util&nome_form=ger_utilizador" enctype="multipart/form-data" style="display:none;">

  </form>
</div
Editado por Labroskas
Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Olá Sandro, obrigado pela ajuda, vou tentar explicar melhor com o código de um exemplo que fiz.

Imagem da aplicação
http://gyazo.com/46719fff363a2fa68feeda2a68eb132b

	<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
	<html xmlns="http://www.w3.org/1999/xhtml">
	<head>
	<script language="javascript" type="text/javascript">
	function MostraDiv(idx){
	form1.style.display='none';
	form2.style.display='none';
	form3.style.display='none';
	idx.style.display = 'block';
	}
	function FechaDiv(){
	form3.style.display='none';
	form2.style.display='none';
	form1.style.display='block';
	}
	</script>
	</head>
	<body>
	<form id="form1" name="frm_dados" method="post" action="#">
	<h1>Visualizar Registos</h1>
	<table>
	<tr>
	<td><input type="text" name="id_name" value="100"></td>
	</tr>
	<tr>
	<td><a href="Untitled-5.php?id=111" onclick="MostraDiv(form2)">Adicionar Registo</a></td>
	</tr>
	<tr>
	<td><a href="Untitled-5.php?id=111" onclick="MostraDiv(form3)">Editar Registo</a></td>
	</tr>
	<tr>
	<td><a href="javascript:" onclick="return MsgBoxElim()">Eliminar Registo</a></td>
	</tr>
	</table>
	</form>
	 
	<form id="form2" name="form2" method="post" action="" style="display:none;">
	<h1>Novo Registo</h1>
	<input type="text" name="id_name" value="<?php echo $_GET['id'];?>">
	<a title="Retroceder" href="Untitled-5.php" onclick="FechaDiv()">Voltar</a>
	</form>
	 
	<form id="form3" name="form3" method="post" action="" enctype="multipart/form-data" style="display:none;">
	<h1>Editar Registo</h1>
	<input type="text" name="id_name1" value="<?php echo $_GET['id'];?>">
	<a title="Retroceder" href="Untitled-5.php" onclick="FechaDiv()">Voltar</a>
	</form>
	</body>

 
Editado por Labroskas
Link para o comentário
Compartilhar em outros sites

  • 0

Labroskas,

Ok, acho que eu entendi o seu problema. Acredito que ele não seja em relação a ocultar / mostrar o formulário. Se for, existem várias opções na internet e eu inclusive tentei ajudar outro colega ( https://www.scriptbrasil.com.br/forum/topic/176232-problema-para-esconder-campos-de-formulario-php/ ) com esse tipo de problema.

Você pode fazer através de um simples reload de página ou através de Ajax. Ajax é mais complicado.

Através de recarregamento :

<?
if (isset($_GET['altera']))  //  alteração do registro: Quando o cliente clicou em "ATUALIZA" #########
	{
		$id=(int)$_GET['altera'];
		if ($altera==1) 
			{
			$id=(int)$_POST['id'];
			$nome=trim(strip_tags($_POST['nome']));
			$sql= mysql_query( "update sua_tabela set nome='$nome' where id_cliente=$id" );
			$id=0;
			}
	}
	
else 
if (isset($_GET['id']))  // pega dados para mostrar no form de alteração: Quando o cliente clicou em "EDITAR REGISTRO" #########
   { 
		$id=(int)$_GET['id'];
		if ($id>0) 
			{
			$sql= mysql_query( "select * from sua_tabela where id_cliente=$id limit 1" );
			if ($sql) 
				{
				$nome = mysql_reult($sql,0,'campo_nome');
				// ... etc, pega campos
				
				} else die(mysql_error());
			}
   }

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
	<html xmlns="http://www.w3.org/1999/xhtml">
	<head>
	<script language="javascript" type="text/javascript">
	function MostraDiv(idx){
	form1.style.display='none';
	form2.style.display='none';
	idx.style.display = 'block';
	}
	function FechaDiv(){
	form2.style.display='none';
	form1.style.display='block';
	}
	</script>
	</head>

	<body>
	<form id="form1" name="frm_dados" method="post" action="#">
	<h1>Visualizar Registos</h1>
	<table>
	<tr>
	<td><input type="text" name="id_name" value="100"></td>
	</tr>
	<tr>
	<td><a href="testes.php?id=111" onclick="MostraDiv(form2)">Adicionar Registo</a></td>
	</tr>
	<tr>
	<td><a href="testes.php?id=111">Editar Registo</a></td>
	</tr>
	<tr>
	<td><a href="javascript:" onclick="return MsgBoxElim()">Eliminar Registo</a></td>
	</tr>
	</table>
	</form>
	 
	<form id="form2" name="form2" method="post" action="" style="display:none;">
	<h1>Novo Registo</h1>
	<input type="text" name="id_name" value="<?php echo $_GET['id'];?>">
	<a title="Retroceder" href="Untitled-5.php" onclick="FechaDiv()">Voltar</a>
	</form>
	
<?  if ($id>0) { ?>	 
	<form id="form3" name="form3" method="post" action="testes.php?altera=1" enctype="multipart/form-data" style="display: block;">
	
		<h1>Editar Registo</h1>
		<input type="hidden" name="id" value="<? echo $id;?>">
		<label>Nome:</label>
		<input type="input" name="nome" value="<? echo $nome;?>">
		<input type="submit" value="Atualiza">

	</form>
<? } ?>		

	</body>

A lógica é simples:

1 cliente clicou em alterar, o sistema recarrega com o 'id' no link

2 . pega o id e busca no bd

3 . mostra a lista e o form de alteração. Mostra os dados do registro nos campos.

4 . o cliente altera e clica 'salvar'

5 sistema recarrega com url 'altera=1'

6. o sistema entra na rotina de 'altera==1' para efetivar a alteração no update e pega o id do campo hidden

7 em seguida a lista aparece novamente.

Eu não testei. mas sempre utilizo essa lógica para recarregamento de páginas para formulários.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...