Clear fields with Jquery [duplicate]

0

Colleagues. I'm trying to clear fields after submitting a form, but I'm not getting it. See:

$(document).ready(function() {
$("#resposta").ajaxStart(function(){ 
    $(this).html("Mensagem sendo enviada, por favor aguarde..."); 
           }        
        );
$("#submit").click(function() {
var nome     = $("#nome").val();
var email    = $("#email").val();
var assunto    = $("#assunto").val();
var mensagem = $("#mensagem").val();
$.post('enviar.php', { nome: nome, email: email, assunto: assunto, mensagem: mensagem, contato: true }, function(data) {

if (data !== false) {
$("#resposta").html(data);
}else{
$("#nome").val("");
$("#email").val("");
$("#assunto").val("");
$("#mensagem").val("");

    }

});
return false;
});
});

I tried the following ways and it also did not work:

$("#form")[0].reset();

and

$("#form").trigger("reset");
    
asked by anonymous 30.01.2016 / 16:39

1 answer

2

Roughly using the submit () form in Jquery would be:

$(function(){
  $("#myForm").submit(function() { //no submit do formulário
    $('#myForm input').val(""); //coloca todos valores de todos inputs do form como vazio
    $('#myForm input[type = submit]').val("Enviar"); //recoloca o texto no botão
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script><formid="myForm">
  <input type="text" placeholder="Campo 01" name="campo01"/>
  <input type="text" placeholder="Campo 02" name="campo02"/>
  
  <input type="submit" value="Enviar" /> 
</form>

<input type="text" placeholder="Campo Fora" name="campofora"/>

Your code would look like this to clear the form only if it succeeded in submit :

$(document).ready(function() {
    $("#resposta").ajaxStart(function() {
        $(this).html("Mensagem sendo enviada, por favor aguarde...");
    });
    $("#form").submit(function() {
        var nome = $("#nome").val();
        var email = $("#email").val();
        var assunto = $("#assunto").val();
        var mensagem = $("#mensagem").val();
        $.post('enviar.php', {
            nome: nome,
            email: email,
            assunto: assunto,
            mensagem: mensagem,
            contato: true
        }, function(data) {

            if (data !== false) {
                $("#resposta").html(data);
                $("#form input").val(""); //limpa todos inputs do formulário
                $("#form input[type = submit]").val("Enviar"); //redefine botão submit
            } else {
                $("#nome").val("");
                $("#email").val("");
                $("#assunto").val("");
                $("#mensagem").val("");

            }

        });
        return false;
    });
});
    
30.01.2016 / 16:51