Ir para conteúdo

Arquivado

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

Tiago Bruno

Cancelar o submit por validação no jquery

Recommended Posts

É o seguinte pessoal tenho validação serviside que faço em uma pagina php o problema é na hora de validar no

jquery tento cancelar o submit com return false mas não vai segue o código.

 $(document).ready(function(){
          
$("#formProd").submit(function(){
  
  var Valores = $(this).serialize();
 
   $.ajax({
     type:"POST",
     url: "../View/valida.php",
     data: Valores,
     success: function(data){
         
         if(data.length>0){
             $("#retorno").html(data);
             return false;
         }
     else{
      
     
    }
     }
   });
  
}); 
}); 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ajax é assíncrono. Faça assim:

 

$("#formProd").submit(function(event){
   event.preventDefault();
e para liberar, vc faz um trigger submit.

Compartilhar este post


Link para o post
Compartilhar em outros sites

muito obrigado, ele para o problema é para continuar se estiver tudo ok, teria que colocar algo no else mas não faço ideia porque sei muito pouco de ajax como faço esse trigger submit?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Adicionei o trigger submit no else mas quando retorna um erro a pagina não para segue o codigo

<script>       
$(document).ready(function(){
          
$("#formProd").submit(function(event){
   event.preventDefault();
  var Valores = $(this).serialize();


   $.ajax({
     type:"POST",
     url: "../View/valida.php",
     data: Valores,
     success: function(data){
         
         if(data.length>0){
            $("#retorno").html(data);
        $("#formProd").submit(function(){
           return false;
              });
           
         }
     else{
       $('#formProd').trigger('submit');
        });
    }
     }
   });
  
}); 
});
   
        
        
    
        
        </script>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Exemplo:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
</head>
<body>
<form action="" id="form">
  <input type="text" name="name" id="name" />
  <input type="submit" value="Enviar" />
</form>

<script src="http://code.jquery.com/jquery-1.12.0.min.js"></script>
<script>
$('#form').on('submit', function (event) {
  event.preventDefault();
  var $name = $('#name');

  if($name.val() !== '') {
    $('#form').off('submit').trigger('submit');
  } else {
    alert('Não enviado!');
  }

})
</script>
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Adaptando pelo código que você mandou a pagina vai para o outro formulário mas não envia nada por post

 

  $(document).ready(function(){
         $('#formProd').on('submit', function (event) { 


   event.preventDefault();
  var Valores = $(this).serialize();


   $.ajax({
     type:"POST",
     url: "../View/valida.php",
     data: Valores,
     success: function(data){
         
         if(data.length>0){
            $("#retorno").html(data);
       
         }
     else{
       
    $('#formProd').off('submit').trigger('submit');
    }
     }
   });
  
}); 
});

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como está o html da tag FORM ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então o POST está indo sim.

Pq vc disse que deu errado? como testou?

 

O que tem no arquivo ProdutoDAO.php ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então o erro ai é no PHP. Debugue lá.

 

coloca um var_dump($_POST); por exemplo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Andei fuçando e vi que o problema é que ele não pega o post do botão que eu utilizo para verificar se foi clicado o botão cadastrar ou o alterar quando eu comento a linha "if(isset($_POST['cadastrar']) " funciona normalmente e antes estava funcionando normal vou tentar fazer as duas funcionalidades em arquivos separados.

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por ILR master
      Pessoal, pergunta bem simples. Abaixo tenho o seguinte código:
       
      <script>
      function alerta()
      {
        if (window.confirm("Você realmente quer sair?")) {
          window.open("sair.html");
      }
      }
      </script>
       
      Funciona perfeitamente, só que está abrindo em outra janela e quero que abra na mesma janela.
       
      Alguém pode me ajudar?
    • Por Giovanird
      Olá a todos!
      Tenho uma pagina que possui uma DIV onde coloquei uma pagina PHP.
      Uso a função setInterval para atualizar a pagina inclusa dentro da DIV.
      O problema é que ao acessar o site , a DIV só me mostra a pagina inclusa somente quando completo o primeiro minuto.
      Preciso que a pagina inclusa já inicie carregada
       
      Meu código JavaScript e a DIV com a pagina PHP
       
      <script> function atualiza(){ var url = 'direita.php'; $.get(url, function(dataReturn) { $('#direita').html(dataReturn); }); } setInterval("atualiza()",60000); </script> <div> <span id="direita"></span> </div>  
    • Por Thiago Duarte
      Oi, gostaria de arrastar imagem e ao soltar formar bloco html, meu bloco de html ficaria com nome, content-1.html, content-2.html, etc
       
      Alguem pode me ajudar?
    • Por belann
      Olá!
       
      Estou fazendo o upload de arquivos com fetch dessa forma
      fetch(url, {
              method: 'POST',
              headers: {'Content-Type': 'multipart/form-data',},
              body: formData 
          }).catch((error) => (console.log("Problemas com o Upload"), error));
       
      estou usando input type=file
      e criando uma const formData = new FormData(); 
      mas não faz e não dá nenhum erro.
      estou fazendo o upload com a url="http://localhost/dashboard/dados".
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.