Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery ui 无法一次又一次地打开Jquery模式对话框_Jquery Ui_Jquery - Fatal编程技术网

Jquery ui 无法一次又一次地打开Jquery模式对话框

Jquery ui 无法一次又一次地打开Jquery模式对话框,jquery-ui,jquery,Jquery Ui,Jquery,我在页面的页脚有一个超链接,它在jquery对话框中打开一个表单,我们称之为M1。然后我输入所有信息并单击“创建”创建一个用户。在创建一个新用户时,我显示了一个小模式(“我们称之为M2”),上面写着“请稍候..一些消息” 现在我的问题是,我无法显示(“M2”)模式,即“请稍候..一些消息”,而每次我停留(“M1”)时,我都会继续创建一个新用户。 它第一次出现(“M1”),下一次不再显示。如何关闭iam销毁和删除对话框。(由于其他问题) 这是代码 <div id="m2" style="vi

我在页面的页脚有一个超链接,它在jquery对话框中打开一个表单,我们称之为M1。然后我输入所有信息并单击“创建”创建一个用户。在创建一个新用户时,我显示了一个小模式(“我们称之为M2”),上面写着“请稍候..一些消息”

现在我的问题是,我无法显示(“M2”)模式,即“请稍候..一些消息”,而每次我停留(“M1”)时,我都会继续创建一个新用户。 它第一次出现(“M1”),下一次不再显示。如何关闭iam销毁和删除对话框。(由于其他问题)

这是代码

<div id="m2" style="visibility:hidden">
    <img src="spinningwheel" border="0" align="middle" hspace="20" vspace="5"/> Creating USER...
</div>

$(document).ready(function() {  
    displaydialog();    
});

function displaydialog(){   
    $('#m2').dialog({
        autoOpen: false,
        height: 100,
        width: 250,
        modal: true,
        close: function() {
              $(this).dialog('destroy');
              $(this).remove();           
            }
    }); 
}

 $("#btncreate").click(function (){
    $("#m2").removeAttr('style');          
     displaydialog();
    $("#m2").dialog('open');
    //get a json request based on data if suceess 
    if(success){
         $("#m2").dialog('close');
    }else{
         $("#m2").dialog('close');
    }   

 });

正在创建用户。。。
$(文档).ready(函数(){
显示对话框();
});
函数displaydialog(){
$('#m2')。对话框({
自动打开:错误,
身高:100,
宽度:250,
莫代尔:是的,
关闭:函数(){
$(this.dialog('destroy');
$(this.remove();
}
}); 
}
$(“#btncreate”)。单击(函数(){
$(“#m2”).removeAttr('style');
显示对话框();
$(“#m2”)。对话框(“打开”);
//如果成功,则基于数据获取json请求
如果(成功){
$(“#m2”)。对话框(“关闭”);
}否则{
$(“#m2”)。对话框(“关闭”);
}   
});

如果您使用ajax检索新数据,浏览器将再次呈现web(不加载,呈现),这样您就不会再准备dom了。尝试调用displaydialog,然后打开它。它会起作用的。无论如何,有一个更好的方法,我认为你的问题在于逻辑。但是这个解决方案会起作用。

如果您使用ajax检索新数据,浏览器将再次呈现web(不加载,呈现),这样您就不会再准备dom了。尝试调用displaydialog,然后打开它。它会起作用的。无论如何,有一个更好的方法,我认为你的问题在于逻辑。但这个解决方案会奏效。

@Derby

    $(document).ready(function() {  
        displaydialog();    
    });

    function displaydialog(){   
        $('#m2').dialog({
            autoOpen: false,
            height: 100,
            width: 250,
            modal: true,
/*            close: function() { // No need to Destroy the dialog
                  $(this).dialog('destroy');
                  $(this).remove();           
                }*/
        }); 
    }

     $("#btncreate").click(function (){
       // $("#m2").removeAttr('style');          
        // displaydialog();
        $("#m2").dialog('open');
        //get a json request based on data if suceess
        // if you are using ajax post, try to close this box as part of response handler ( success/error).
jQuery.ajax({
            data : {somekey : somevalue},
            datatype: 'json',
            error : function(jqXHR, textStatus, errorThrown) {
                $("#m2").dialog('close');
            },
            success : function(data, textStatus, jqXHR) {
                $("#m2").dialog('close');
            },
            type : 'GET',
            url : 'dummyURL'
        });
    /*    if(success){
             $("#m2").dialog('close');
        }else{
             $("#m2").dialog('close');
        }   */

     });
你不必每次都破坏和创建M2对话框。只需在文档就绪时调用displaydialog(),然后在对话框上使用open和close。您没有看到该对话框,因为在调用ajax get请求(如果您使用的是async:true)之后,将调用dialog(close)。因此,关闭关于ajax请求成功/错误的M2对话框。

@Derby

    $(document).ready(function() {  
        displaydialog();    
    });

    function displaydialog(){   
        $('#m2').dialog({
            autoOpen: false,
            height: 100,
            width: 250,
            modal: true,
/*            close: function() { // No need to Destroy the dialog
                  $(this).dialog('destroy');
                  $(this).remove();           
                }*/
        }); 
    }

     $("#btncreate").click(function (){
       // $("#m2").removeAttr('style');          
        // displaydialog();
        $("#m2").dialog('open');
        //get a json request based on data if suceess
        // if you are using ajax post, try to close this box as part of response handler ( success/error).
jQuery.ajax({
            data : {somekey : somevalue},
            datatype: 'json',
            error : function(jqXHR, textStatus, errorThrown) {
                $("#m2").dialog('close');
            },
            success : function(data, textStatus, jqXHR) {
                $("#m2").dialog('close');
            },
            type : 'GET',
            url : 'dummyURL'
        });
    /*    if(success){
             $("#m2").dialog('close');
        }else{
             $("#m2").dialog('close');
        }   */

     });
你不必每次都破坏和创建M2对话框。只需在文档就绪时调用displaydialog(),然后在对话框上使用open和close。您没有看到该对话框,因为在调用ajax get请求(如果您使用的是async:true)之后,将调用dialog(close)。因此,在ajax请求成功/错误时关闭M2对话框