jquery ui对话框按钮出现问题

时间:2011-06-21 08:24:56

标签: jquery-ui modal-dialog

在我的网站上,我有一个按钮,当点击该按钮时,打开一个对话框,其中已填充表格以发送电子邮件。在这种形式我有一个名为“invia”的按钮发送邮件,邮件发送正确,什么不起作用它是发送电子邮件后关闭对话框。这里附上了我的代码:

提前感谢您的帮助。

$("#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());
                $("#ris_dial").dialog(dialogError);
            }
        },
        "xml"
    );
    m++;
}
});

1 个答案:

答案 0 :(得分:2)

this

$.post()更改的上下文 在致电this之前

保存post

var $this = $(this);

并将您的通话更改为close

$this.dialog("close")