Jump to content
Fórum Script Brasil
  • 0

Problemas com serviside sem refresh


tiagobruno
 Share

Question

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 to comment
Share on other sites

2 answers to this question

Recommended Posts

  • 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Forum Statistics

    • Total Topics
      149.6k
    • Total Posts
      646.2k
×
×
  • Create New...