jQuery:AJAX提交后关闭对话框

时间:2014-08-15 20:59:47

标签: javascript jquery ajax forms jquery-ui

在通过AJAX提交后,我希望将表单关闭。我在这里看了谷歌和一些旧话题,但我找不到任何东西!我有一个函数我javascript来显示我的表单,我有另一个给ajax请求,我想我应该得到开放模态窗口的实例,然后关闭它,但我不确定。

以下是显示表单窗口的代码

$(function (){
function handler() {
if (this.readyState == this.DONE) {
    if (this.status == 200 && this.responseText != null) {
        $("#modal").html(this.responseText);
        return;
    }
    console.log('Something went wrong! Status = ' + this.status);
 }
}

var client = new XMLHttpRequest();
client.onreadystatechange = handler;

$(document).ready(function () {
   $(document).on('click','.showModal',function(event) {
    client.open("GET", $(this).attr("href"),true);
    client.send();
var dialog;
dialog =   $("#modal").dialog({
        autoOpen:true,
        width: 400,
        height: 450,
        modal: true,
        /*close: function () {
            $("#modal").html('');
        }*/
        buttons: [{ 
           text: "Cancelar", 
           click: function() { 
             dialog.dialog("close"); 
           }
        }],
        close: function () {
            $("#modal").html('');
        }

    });
    return false;
 });

});
});    

以下是我通过AJAX发送数据的代码,然后尝试关闭窗口:

$(function(){
$("#y").on('click',function(event){
     event.preventDefault();
     var id = $("input[name=id]").val();
     var action = 'del';
     $.post("album/ajax",{
          action : action,
          id     : id
        },
        function(data){
          if(data.response == true){
            if(action == 'del') {
              var table = $('#table');
              table.find('tr').each(function(indice){
              $(this).find('td').each(function(indice){
                if($(this).text() == ''){
                var valor = $(this).find('input[name=cod]').val();
                 if(valor == id){
                    $(this).closest('tr').remove();
                    /*var dialog;
                    dialog =   $("#modal").dialog();
                    dialog.closest(".ui-dialog-content").dialog("close");
                    dialog.dialog("close");*/
                  }
                }
             });
            });
           }
         } else {
               alert("Nao foi possivel deletar!");

         }
        },'json');

 });
});

1 个答案:

答案 0 :(得分:1)

尝试$("#modal")。对话框("关闭");