开发者

Problem with jquery ui dialog button

On my site I've a button that when is clicked open a dialog with a form already populated for send an e-mail. In this form I have a button called "invia" to send mail, the mail are sent correctly, what does not work it is closeing dialog after send e-mail. Here attacched my code:

Thanks in advance for help.

$("#invio_mail").live("click", function() { 
if (m=="") //that's to prevent multiple dialog opening
{
    $.post("./php/testo_mail_xml.php",
        {contratto:contratto, piatta:piatta, testo:"stampa_login"},
        function(xml)
        {
            if ($(xml).find("status").text()==1)
            {
                $("#ris_dial").load("./schemi/sch_mail.htm");
                delay( function() { //that's a function for delay population
                    scorriDati(xml, "forMail"); //that's function for populate
                }, 500);
                var dm = {
                modal: true,
                height: 'auto',
                width: 'auto',
                title: "<span class='ui-icon ui-icon-info'></span> Invio Mail",
                closeOnEscape: false,
                buttons: {"Invia": function() {
                            $.post("./php/mail.php",
                                {dati:$("#forMail").serialize()},
                                function(xml)
                                {
                                    if ($(xml).find("status").text()==1)
                                    {
                                        //var opt={close:true};
                                        //$("#ris_dial").dialog(opt);
                                        $(this).dialog("close"); //this is not wrking code
                                    }
                                    else
                                        $(this).append($(xml).find("errore").text());
                                },"xml"
                            );
                        }
                    }
            };
                $("#ris_dial").dialog(dm);
            }
            else
            {
                $("#ris_dial").empty().append($(xml).find("errore").text()开发者_StackOverflow社区);
                $("#ris_dial").dialog(dialogError);
            }
        },
        "xml"
    );
    m++;
}
});


the context of this changes inside of $.post()

save this before you call post:

var $this = $(this);

and change your call to close to be:

$this.dialog("close")
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜