Confirm box return value from alertify plugin and

2019-07-09 20:37发布

问题:

I have a confirm dialog for my form. it is inside a jquery submit function. I am using alertify to show the confirm dialog. But problem is my jquery submit function returns before alertify gets the confirm box value. Read that alertify is non blocking. Any way to overcome this and return the confirm box value back to my form?

$("#viewform").submit(function(){

      alertify.confirm("Delete the selected entry?",function(e){

             if(e)
                    return true;
              else 
                     return false;

               });


 });

The function always returns true. I want to return the output of confirm box. How can i return the delayed return value of confirm box?

回答1:

One work around would be to used a button rather than a submit input, then use a click listener to run alertify. This could then submit your form via jQuery. Here's how it might look:

HTML:

<form id="form">
    <input type="button" value="Submit" id="btn">
</form>

JavaScript:

$('#btn').click(function() {
    alertify.confirm("Delete the selected entry?",function(e){
        if(e) {
            $('#form').submit();
            return true;
        } else {
            return false;
        }

    });
});