Ir para conteúdo

POWERED BY:

Arquivado

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

Adriano Programmer

Mostrar campo oculto depois do refresh...

Recommended Posts

Boa tarde...

 

Eu tenho dois formulários em uma página, o primeiro é o formulário de cadastro, e o segundo é um formulário de consulta, este segundo formulário está como default display: none...

 

E eu tenho uma função que faz este formulário ser exibido...

 

Eu tenho um botão na minha página que cadastra os clientes e neste mesmo botão eu chamo no evento onclick a minha função para aparecer o segundo fomulário...

Só que o problema é o seguinte o botão da o submit e um refresh na página, e ele da o refresh o segundo formulário volta para a forma default que é display: none...

 

Como eu posso fazer para que depois de eu clicar no botão o primeiro formulário cadastre no banco e o segundo formulário seja exibido logo abaixo???

 

Espero que possam me ajudar...

Desde já sou grato...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não entendi muito bem a sua idéia...

 

A minha função atualmente é assim:

 

CODE
function exibir_form (exibir) {

if (exibir=='sim') {

document.getElementById('frmconcand').style.display = '';

}

}

frmconcand é o nome do formulário...

Eu chamo está função no botão de cadastro, que no caso funciona assim...

onClick="exibir_form('sim');"

 

Ele cadastra o cliente e logo após cadastrar ele exibe o outro formulário...

Só que exibe o outro formulário e já da o refresh da página, e como o default da página é o segundo formulário estar como display: none. Ele está sumindo na mesma hora...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faça o seguinte..

 

Se você está usando um form, você deve estar usando uma linguagem Server-Side tb, certo ??

 

Então no "action" do form, crie uma QueryString, tipo "suaurl.asp?Gravou=Sim"..

 

Ai você faz a verificação da QueryString, se ela contiver valor, então você mostra o segundo form... tipo:

 

<%
If (Request.QueryString("Gravou") = "Sim" Then
%>

<script>
document.getElementById('frmconcand').style.display = 'block';
</script>

<% ELSE %>
<script>
document.getElementById('frmconcand').style.display = 'none';
</script>

<% End if%>

No exemplo acima eu utilizei o ASP como Server-Side, mas você pode utiizar a linguagem que preferir,...

 

Abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu estou usando php, e atualmente funciona da seguinte forma...

 

<?php

//atribui o valor dos campos da página nas variáveis mencionadas

if (isset($_GET["acao"]) && $_GET["acao"]=="cadastrar"){

$empresa1 = $_POST['empresa1'];

.......................

.......................

.......................

.......................

?>

 

E no formulário eu uso no action <form action="cadastro_passo3.php?acao=cadastrar"....................>

 

mas eu terei que colocar o JS dentro de meu código php?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim....

 

você viu como eu fiz no exemplo acima ???

 

Eu coloquei o JS dentro do ASP...

 

Basta fazer o mesmo em PHP...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu fiz como você mostrou, mas não funcionou...

 

Abaixo segue o código...

 

CODE
<?php

//atribui o valor dos campos da página nas variáveis mencionadas

if (isset($_GET["acao"]) && $_GET["acao"]=="cadastrar"){

$empresa1 = $_POST['empresa1'];

$empresa2 = $_POST['empresa2'];

$cargo1 = $_POST['cargo1'];

$cargo2 = $_POST['cargo2'];

$datainicio = $_POST['datainicio'];

$datafim = $_POST['datafim'];

 

//variáveis para os alerts

$msgempr1 = "Preencha pelo menos 1 dos campos para Empresa.";

$msgempr2 = "Preencha apenas 1 dos campos para Empresa.";

$msgcarg1 = "Preencha pelo menos 1 dos campos para Cargo.";

$msgcarg2 = "Preencha apenas 1 dos campos para Cargo.";

 

//valida empresa e cargo

if ((($empresa1 == "Selecione...") && ($empresa2 == "")) || (($empresa1 != "Selecione...") && ($empresa2 != ""))) {

if (($empresa1 == "Selecione...") && ($empresa2 == "")){

echo "<script>alert('". $msgempr1 . "');</script>";

}

elseif (($empresa1 != "Selecione...") && ($empresa2 != "")){

echo "<script>alert('". $msgempr2 . "');</script>";

}

}

elseif ((($cargo1 == "Selecione...") && ($cargo2 == "")) || (($cargo1 != "Selecione...") && ($cargo2 != ""))) {

if (($cargo1 == "Selecione...") && ($cargo2 == "")){

echo "<script>alert('". $msgcarg1 . "');</script>";

}

elseif (($cargo1 != "Selecione...") && ($cargo2 != "")){

echo "<script>alert('". $msgcarg2 . "');</script>";

}

}

else{

 

//valida as datas

if ((checkData($datainicio)) && (checkData($datafim))){

 

//converte a data inicial (dataini) para o formato do banco

$datainicio = converte_data($datainicio);

 

//converte a data final (datafim) para o formato do banco

$datafim = converte_data($datafim);

 

//cria a sql para inserir no banco de dados

$sql1 = "INSERT INTO EXPERIENCIAS (expdatainicio,expdatafim)";

$sql1.="VALUES ('".$datainicio."','".$datafim."')";

$sql2 = "INSERT INTO EMPRESAS (empempresa)";

$sql2.="VALUES ('".$empresa2."')";

$sql3 = "INSERT INTO CARGOS (carcargo)";

$sql3.="VALUES ('".$cargo2."')";

 

//grava os dados no banco, ou imprime erro

$resultado = ibase_query($conexao,$sql1) or die ("Impossível gravar os dados");

$resultado = ibase_query($conexao,$sql2) or die ("Impossível gravar os dados");

$resultado = ibase_query($conexao,$sql3) or die ("Impossível gravar os dados");

 

//envia commit e fecha a conexão com o banco de dados

ibase_commit($conexao);

ibase_close($conexao);

 

//limpa as variáveis depois de salvar no banco

$empresa2 = "";

$cargo2 = "";

$datainicio = "";

$datafim = "";

 

}

else{

$mensagem = "Data Início ou Data Fim Inválido. Corrija por favor.";

echo "<script>alert('". $mensagem . "');</script>";

}

 

} //fecha if ((($empresa1 == "") && ($empresa2 == "")) || (($empresa1 != "") && ($empresa2 != ""))) {...

 

//} //fecha if (isset($_GET["acao"]) && $_GET["acao"]=="cadastrar"){...

?>

 

<script>

document.getElementById('frmconcand').style.display = 'block';

</script>

 

<?php

}else{

?>

 

<script>

document.getElementById('frmconcand').style.display = 'none';

</script>

 

<?php

} //fecha if (isset($_GET["acao"]) && $_GET["acao"]=="cadastrar"){...

?>

 

Eu nunca tinha visto desta maneira antes um código php e um js dentro...

To precisando muito disto...

Obrigado desde já...

Compartilhar este post


Link para o post
Compartilhar em outros sites

tive uma idéia!

cria só 1 form

 

tem q ser feito em tabless (divs)

vai funcionar assim

 

div1 - campos do primeiro

div2 - campos do 2

 

no 1 você tera um botão continuar (por exemplo)

q será um botão normal não submit

type="buton"

com a ação de fexar a div1 e abrir a segunda..

intende?

bom proveito =D

você só tera q ter uma pág php pra tratar todos os dados

 

pra tratar os dados você pode ter um campo input type="hidden" onde nele você coloca qual será o tratamento das informações

 

pra tratar os dados você pode ter um campo input type="hidden" onde nele você coloca qual será o tratamento das informações

 

pra tratar os dados você pode ter um campo input type="hidden" onde nele você coloca qual será o tratamento das informações

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas desta maneira eu terei que ter um botão do type=button e outro botão type=submit, para enviar as informções ao banco de dados...

 

É isso?Só que se for isso não adianta pois isso eu consigo faze, mais o problema é que eu não quero dois botões na página...

Entende?Pra não ficar muito poluida a pagina...

 

 

Abraço e obrigado desde já....

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara.. você pode por o evento dentro do q você precisa e chamar a função q irá abrir o form q você precisar.

oq irá definir o formulário?

um texto de input? um radio? um checkbox?

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.