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

Problemas com serviside sem refresh


tiagobruno

Pergunta

Estou tentando fazer uma validação de um formulário sem o refresh da pagina tentei utilizar ajax mas não esta nem chamando a função para a validação queria uma ajuda. 

 

Arquivo form.php 

<?php
  include_once("../DAO/banco.php");
 include_once("../DAO/ProdutoDAO.php");




    @$getId = $_GET['id'];  //pega id para ediçao caso exista
    if(@$getId){ //se existir recupera os dados e tras os campos preenchidos
    $sql = "SELECT * FROM produtos WHERE id_prod = + $getId";
     $stm = $con->prepare($sql);   
 $stm->execute();   
 $campo = $stm->fetch(PDO::FETCH_ASSOC);   


    }




?>


<!DOCTYPE html>
<html>
<head>


    
<title>Cadastro Produto</title>
<meta charset="UTF-8">


  
     <link rel="stylesheet" type="text/css" href="../css/bootstrap.css" />
      <link rel="stylesheet" type="text/css" href="../css/bootstrap-responsive.css" />


      <link rel="stylesheet" type="text/css" href="../js/bootstrap.js" />
      <link rel="stylesheet" type="text/css" href="../js/bootstrap.min.js" />
      <script type="text/javascript" src="../js/valida.js"></script>
    <script type="text/javascript" src="../js/jquery-1.11.3.min.js"></script>
<script type="text/javascript" src="../js/jquery.validate.min.js"></script> 


</head>
<body>


    <?php
    include_once 'AdminMenu.php';
    ?>


    
    
        <div id="formProd" style='margin-left:35px;margin-top:10px;width:3000px;height:500px;z-index:1'>


     <div id="retorno">    </div>
     <form id="enviaForm">


    
     <h3> <p>Cadastro Produto </h3>
   
          <p> Nome: </p> 
   
  
          <input type ="text" name="nomeProd" id="cnome"  style="width:500px;" value="<?php echo @$campo['nome_prod']; ?>" placeholder ="Nome do Produto"> 
          <br>
   
         <p> Descrição: </p> 
          <?php
         echo '<textarea name="descricaoProd" style="width:300px;" cols="50" rows="3" id="conteudo" class="editar">' . @$campo['descricao'] . '</textarea>';
         ?>
         <br>
       <p> Quantidade: </p> 
    
       <input type="number"  style="width:100px;" name="quantProd"  min="0" id ="cquantidade" size="2" maxlength="4" value="<?php echo @$campo['quantidade']; ?>" />
       <br>
           <input type="hidden" name="idProd" value="<?php echo @$campo['id_prod']; ?>">
               
           <br>
           
    <?php
                if(@!$campo['id_prod']){ // se não passar o id via GET não está editando, mostra o botao de cadastro
            ?>
           <button type="submit" class="btn btn-primary" name="cadastrar" > Cadastrar </button>
            <?php }else{ // se  passar o id via GET  está editando, mostra o botao de ediçao ?>
                <button type="submit" class="btn btn-primary" name="alterar" > Alterar </button>   
            <?php } ?>
       
     
          


   </form>
        </div>
      <script src="../js/jquery.min.js"></script> 
        <script src="../js/dropdown.js"></script>


    
</body>


</html>

 

Arquivo valida.php  

 

 

<?php


 $erros=array(); 
if(empty($_POST['nomeProd'])) {
$erros['nome']='* O nome do Produto não pode ser inválido"<br>"'; 
}
if(empty($_POST['quantidade'])||$_POST['quantidade']<0) {
 $erros['quantidade']='* A quantidade do produto não pode ser inválida';    
}
//if(count($erros)>0){ 
echo $erros;




?>

 

Arquivo valida.js   

 

$("#enviaForm").submit(function(){
    alert("pegou");
  var Valores = $(this).serialize();


   $.ajax({
     type:"POST",
     url: "../view/valida.php",
     data: Valores,
     success: function(data){
         
         if(data==null){
             window.location="../DAO/ProdutoDAO.php";
         }
     else{
       $("#retorno").html(data);
        return false;  
    }
     }
   });


});

 

Se alguém puder me ajudar agradeço bastante

 

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Boa noite!

Boa idéia a do Lowys!

Eu uso no chrome mesmo: clica com o botão direito, coloca 'inspecionar' e depois clica na aba 'console' para ver se tem erros quando você executa o script.

 

Olhando um pouco o código, eu iria ver a sua função em valida.js:

tenta isso:

<button type="submit" id="botao_enviaForm" class="btn btn-primary" name="alterar" > Alterar </button>   
$("#botao_enviaForm").click(function( event ) {0
 event.preventDefault(); 
    alert("pegou");
  var Valores = $("#enviaForm").serialize();


   $.ajax({
     type:"POST",
     url: "../view/valida.php",
     data: Valores,
     success: function(data){
         
         if(data==null){
             window.location="../DAO/ProdutoDAO.php";
         }
     else{
       $("#retorno").html(data);
        return false;  
    }
     }
   });


});
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,3k
×
×
  • Criar Novo...