Function authorizing or not submitting form

0

I'm trying to execute a function in the form submit, it works correctly, however if I return true I need the form not to be sent. It's being done this way:

    $('#FornecedorNovo').submit(function (e) {
    var url = "/Fornecedor/VerificaInscricao";
    var Insc = $("#InscricaoEstadual").val();
    $.ajax({
        url: url,
        data: { insc: Insc },
        datatype: "json",
        type: "POST",
        success: function (data) {
            if (data.resultado == true) {
                alert('Já existe esta inscrição estadual cadastrada para outro fornecedor.');
                e.preventDefault();
            }
        }
    })

});

But the form is still sent.

    
asked by anonymous 21.09.2018 / 21:13

1 answer

1

The code below can solve your problem.

$('#FornecedorNovo').submit(function (e) {
    e.preventDefault(); // Coloca o preventDefault no início da função

    var url  = "/Fornecedor/VerificaInscricao";
    var Insc = $("#InscricaoEstadual").val();
    var form = this,
       $form = $(form); // Salvamos o formulário atual em uma variável

    $.ajax({
        url: url,
        data: { insc: Insc },
        datatype: "json",
        type: "POST",
        success: function (data) {
            if (data.resultado == true) {
                alert('Já existe esta inscrição estadual cadastrada para outro fornecedor.');
            } else {
                $form.off('submit').submit();
            }
        }
    })
});
    
21.09.2018 / 21:30