Ir para conteúdo

POWERED BY:

Arquivado

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

Marcos Barbosa

cadastrar dentro da janela modal superbox jquery

Recommended Posts

Olá pessoal, desculpa aí se esse POST devia ser colocado em outro lugar.

 

Eu estou criando um formulário de cadastro dentro da janela modal (superbox jquery), a janela abre certinho, os dados do form também aparecem direitinho, mas quando no botão submit, a janela se fecha sem cadastrar nada.

 

Faço a chamada para abrir a janela modal assim:

 <a href="<?php echo $pagina ?>" rel="superbox[ajax][<?php echo $pagina ?>]">Não sou cadastrado</a>

 

Após a janela aberta, tenho o seguinte código para realizar o cadastro.

 

<!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>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Izabelle Nossa - Clientes</title>

<script type="text/javascript">
$(document).ready(function(){
    $("#cadastrar_clientes").validate({
rules:{				 
  nome:{required:true, minlength: 5},
  email:{required: true, email: true},
  cep:{required: true, minlength:8, maxlength:8},
  endereco:{required: true, minlength: 5},
  numero:{required: true},
  complemento:{required: true},
  bairro:{required: true, minlength: 5},
  cidade:{required: true, minlength: 5},
  uf:{required: true, minlength: 2, maxlength: 2}
 },
       messages:{
   	  nome:{required: "Nome deve ser preenchido", minlength: "Nome deve ter no mínimo 5 caracteres"},
  email:{required: "E-mail deve ser preenchido", email: "Informe um E-mail válido"},
  cep:{required: "Cep deve ser preenchido", minlength: "CEP, deve ter no mínimo 8 caracteres, EX: 99999999",	maxlength: "CEP, deve ter no máximo 8 caracteres, EX: 99999999" },
  endereco:{required: "Endereço deve ser preenchido", minlength: "Endereço deve ter no mínimo 5 caracteres"},
  numero:{required: "Número deve ser preenchido"},
  complemento:{required: "Complemento deve ser preenchido"},
  bairro:{required: "Bairro deve ser preenchido", minlength: "Bairro deve ter no mínimo 5 caracteres"},
  cidade:{required: "Cidade deve ser preenchido", minlength: "Cidade deve ter no mínimo 5 caracteres"},
  uf:{required: "UF deve ser preenchido", minlength: "UF deve ter 2 caracteres", maxlength: "UF deve ter 2 caracteres"}
},						   
 });

 });
</script>
</head>
<body>

  <?php
     if (isset($_POST['cadastra']) && $_POST['cadastra'] == 'Cadastrar'){
$nome        = strip_tags(trim(strtoupper($_POST['nome'])));
$email       = strip_tags(trim($_POST['email']));
$ddd         = strip_tags(trim($_POST['ddd']));
$fone        = strip_tags(trim($_POST['fone']));
$celular     = strip_tags(trim($_POST['celular']));
$cep         = strip_tags(trim($_POST['cep']));
$endereco    = strip_tags(trim(strtoupper($_POST['endereco'])));
$numero      = strip_tags(trim($_POST['numero']));
$complemento = strip_tags(trim(strtoupper($_POST['complemento'])));
$bairro      = strip_tags(trim(strtoupper($_POST['bairro'])));
$cidade      = strip_tags(trim(strtoupper($_POST['cidade'])));
$uf 	     = strip_tags(trim(strtoupper($_POST['uf'])));
$pais 	     = strip_tags(trim(strtoupper($_POST['pais'])));
$cpf 	     = strip_tags(trim($_POST['cpf']));

/* VERIFICA SE O E-MAIL ESTÁ CADASTRADO  */

$seleciona = $conecta->executa_query("SELECT email FROM lj_clientes WHERE email = $email");
$resultado = mysql_fetch_array($seleciona);
if(empty($resultado)){
   echo '<div class="ok">Esse e-mail já está cadastrado, favor verifique</div>';
} else{
   $tabela = 'lj_clientes';
   $dados = array('nome'=>$nome, 'email'=>$email, 'ddd'=>$ddd, 'fone'=>$fone, 'celular'=>$celular,
	          'cep'=>$cep, 'endereco'=>$endereco, 'numero'=>$numero, 'complemento'=>$complemento,
		  'bairro'=>$bairro, 'cidade'=>$cidade, 'uf'=>$uf, 'pais'=>$pais, 'cpf'=>$cpf);
   $conecta->inserir($tabela, $dados);			   
}
}

?>

<div id="clientes">
   <form name="cadastrar_cliente" id="cadastrar_clientes" method="post" action="" enctype="multipart/form-data">
     	<h1>Cadastro de Clientes</h1>
          <label>
              <span>Nome * : <input type="text" name="nome" value="" class="nome_pf" /></span>
           </label>			
           <label>
               <span>Email * : <input type="text" name="email" class="email_pf" />
               	DDD: <input type="text" name="ddd" value="" maxlength="2" class="ddd_pf"/>
               	Telefone: <input type="text" name="telefone" value="" maxlength="9" class="fone_pf" />
               </span>
           </label>			
           <label>
               <span>CEP * : <input type="text" name="cep" id="cep" value="" class="cep_pf" /></span>
           </label>			            
           <label>
               <span>Endereço * : <input type="text" name="endereco" id="endereco" value="" class="ende_pf"/>
                     Número * : <input type="text" name="numero" id="num" value="" class="ddd_pf"/>
                     Complemento * : <input type="text" name="complemento" value="" class="fone_pf" />
               </span>
           </label>			            
           <label>
               <span>Bairro * : <input type="text" name="bairro" id="cidade" value=""  class="bairro_pf"/>
                  Cidade * : <input type="text" name="cidade" id="cidade" value="" />
                     Estado * : <input type="text" name="uf" id="uf" value="" maxlength="2" class="ddd_pf" />
               </span>
           </label>
           <label>
           	<input type="text" name="acao" id="acao" value="cadastrar" />
               <span><input type="submit" name="cadastra" value="Cadastrar" class="btn_cli" /></span>
           </label>

           <h2>Os campos com (*) são obrogatórios</h2>
       </form>
   </div>
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

O problema é que ao dar o submit em um formulário o mesmo faz um Reload na página a qual esta contido.

Existem duas forms de sanar este problema:

1 - Ao inves de enviar seu formulário de forma simples, utilize ajax para isso.

2 - Verifique na documentação da Lightbox a possibilidade de somente a fechar a janela quando o usuário clicar no botão fechar (Caso ele exista)

Compartilhar este post


Link para o post
Compartilhar em outros sites

O problema é que ao dar o submit em um formulário o mesmo faz um Reload na página a qual esta contido.

Existem duas forms de sanar este problema:

1 - Ao inves de enviar seu formulário de forma simples, utilize ajax para isso.

2 - Verifique na documentação da Lightbox a possibilidade de somente a fechar a janela quando o usuário clicar no botão fechar (Caso ele exista)

 

Eu já tentei usar o ajax/jquery e não funcionou, de qualquer forma vou verificar na documentação se tem essa possibilidade.

Vlw

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.