SimpleModal Confirm fails to submit form

2019-07-31 02:27发布

问题:

I'm trying to use jQuery SimpleModal Confirm to show a Yes/No confirmation when a form is submitted.

I had modified the demo here (last in list), as follows, to catch and block the form submission.

However, this only seems to work with jQuery 1.2.6 a recent upgrade to 1.3.2 stops the form from being submitted if yes is clicked.

I can't however, work out what in my code is now wrong / incompatible. The demo (which is a simple window.href implementation works in both versions).

$(document).ready(function () {

$('input.delete').click(function (e) {
        e.preventDefault();
        var target = $(e.target);
        confirm("Really delete this event?", function () {
            target.click()
        });
    });
 });

回答1:

How about something like this? The idea is to catch (and fire!) on the submit event, not the click event.

$(document).ready(function () {
    $('#myForm').submit(function() {
        var f = this;
        confirm("Really delete this event?", function () {
            $(f).submit();
        });
        return false;  // cancel the initial submit event
    });
});

Hope this is of some help. Good luck!



回答2:

Jon,

The demos are the site are using the latest jQuery, so I don't think it is an issue between the version and SimpleModal.

What about trying:

target.submit();

-Eric



回答3:

Got it working with a combination of Funka and Eric's advice:

$(document).ready(function () {  
$('.deleteconfirm').click(function (e) {
         e.preventDefault();
         confirm("Really delete this event?", function () {
         $('form#deleteform').submit()
         });
     });
 });