1

我从 ajax 调用的成功函数调用 Jquery UI 对话框。对话框的代码是这样的 -

    $.ajax({
          'url': "../../controller/myclass.cfc",
          'data':{
              method: "generateQuote",
              'quoteItems':quoteItems,
              returnFormat: "json"
          },
          success: function(data){
             $("#place_of_loading_image").hide();
             newQuoteId = data.toString();

               //New Quote Confirmation popup
                 $( "#newQuoteAddedAlert" ).dialog({
                    autoOpen: false,
                    resize: 'auto',
                    width: 'auto',
                    modal: true,
                    closeOnEscape: false,
                    closeText: "Close" ,
                    position: "center top",
                    buttons: [{
                        text:"Continue", click: function(){
                            $("#newQuoteAddedAlert").dialog("close");
                        }},
                        {text:"Finish",click: function(){   
                            $("#newQuoteAddedAlert").dialog("close");
                            //alert("shutup");
                            location.reload(); 
                        }
                    }]

                });


             //showConfirmationAlert(newQuoteId);

          },error: function( objRequest, strError ){
        }
     });

我的问题是,location.reload()一旦对话框加载,完成按钮函数内部就会被调用。我希望它仅在用户单击完成按钮后才执行。

我在做什么错?

4

3 回答 3

1

为什么不尝试在 $(document).ready 块中而不是在成功方法中定义对话框?在这种情况下,您只需要以这样的成功方法打开对话框:

$( "#newQuoteAddedAlert" ).dialog('open');
于 2013-04-25T10:31:55.800 回答
0

我有同样奇怪的问题。我没有调查太多,但是当我改变时它开始发生

<input type="button" value="Submit" onclick="submitForm()" />

到:

<button onclick="submitForm()">Submit</button>

所以我只是把它换回来了。

于 2015-11-05T17:24:31.953 回答
0

我遇到了类似的问题。原因是:对话框代码是从具有 jQuery v-1.7 和较旧 jQuery-ui.js 的旧页面复制的,而新页面具有 jQuery-3.3.1 但较旧的 jQuery-ui.js。

因此,将上述两个脚本与最新版本一起使用。

于 2018-04-12T07:46:10.387 回答