Forme de piège Jquery submit ()

Je suis actuellement à l'aide de jquery pour piège de la soumission d'un formulaire et d'indiquer aux utilisateurs une boîte de dialogue de confirmation. Si l'utilisateur clique sur oui, puis forme devrait se soumettre. Si l'utilisateur clique sur non, puis fermez la boîte de dialogue.

Tout cela fonctionne bien, mais pour une question: lorsque l'utilisateur clique sur oui, cela déclenche alors de nouveau le même code, et le dialogue est ré-ouvert.

$("#myform").submit(function (event) {
    if (something) {
        var $dialog = $('<div></div>').dialog({
            buttons: {
                "OK": function () {
                    $dialog.dialog('close');
                    $("#myform").submit();
                    return;
                },
                Cancel: function () {
                    $(this).dialog("close");
                }
            }
        });
        $dialog.dialog('open');
        event.preventDefault();
        return false;
    } else {
        $("#myform").submit();
    }
});

Je comprends pourquoi ce qui se passe, tout simplement pas sûr de la meilleure façon de les contourner. Je me rends compte que je pourrais montrer le modal sur clic du bouton, au lieu de soumettre le formulaire, mais cela ne marche pas à contourner le problème de l'utilisateur de frapper le bouton enter sur le clavier pour envoyer le formulaire.

source d'informationauteur JonoB