Verhindern modal geschlossen, wenn Fehler beim übermitteln des Formulars (jQuery)

Grundsätzlich habe ich damit ein bootstrap modal mit einem Formular:

html:

<div id="modal" class="modal fade" role="dialog">
    <div class="modal-dialog">
        <div class="modal-content">
            <div class="modal-header">
                <!-- some heading here -->
            </div>
            <div class="modal-body">
                <form class="form-partner">
                    <!-- some form here -->
                </form>
            </div>
            <div class="modal-footer" style="text-align:center;">
                <div id="message"></div>
                <button class="btn btn-lg" type="submit" id="submit">BUTTON</button>
            </div>
        </div>
    </div>
</div>

Und ein jQuery-Skript, das es sendet, um send.php, wo die Daten geprüft und an den server gesendet werden.

js

$(function() {
    $("#submit").click(function(){
        $.ajax({
            type: "POST",
            url: "send.php",
            data: $('form').serialize(),
            success: function(msg){
                $("#message").html(msg)
                //$("#modal").modal('hide'); 
            },
            error: function(){
                alert("failure");
            }
        });
    });
});

Schreibe ich eine Fehlermeldung an den div#message, aber ich brauche es zum schließen des modal -, wenn die Einreichung erfolgreich war.

Gibt es eine Möglichkeit, das zu tun, wie kann ich das überprüfen die Gültigkeit der Daten (wie E-Mail, wenn tatsächlich eine E-Mail) in jQuery $.ajax selbst?

  • So Ihr modal nicht ausgeblendet werden, wenn Sie kommentieren Sie, dass eine Zeile? Jede Validierung der Daten zurückgegeben, die von php geprüft werden können, in Ihren Erfolgs-callback
  • Es schließt auch, wenn, sagen wir, alle Felder sind leer, oder filter_var($email, FILTER_VALIDATE_EMAIL) gibt false zurück. Soweit ich bekommen, Erfolg: $.ajax() entspricht das erfolgreiche senden von Daten (selbst wenn die Daten ist ungültig).
Schreibe einen Kommentar