负载完成时模态关闭

时间:2014-08-12 13:55:05

标签: javascript jquery modal-dialog

看来,当JQuery模式完成加载时,它会关闭。我的脚本中没有任何警报出现。为什么不保持开放?任何帮助将不胜感激=)

  <link rel="stylesheet" href="//code.jquery.com/ui/1.11.0/themes/smoothness/jquery-ui.css">
<script src="JS/jquery.min.js" type="text/javascript"></script>
  <script src="//code.jquery.com/ui/1.11.0/jquery-ui.js"></script>
  <script>
      $(function () {
          dialog = $("#dialog-form").dialog({
              autoOpen: false,
              height: 600,
              width: 800,
              modal: true,
              buttons: {
                  Cancel: function () {
                      alert("Cancel Button")
                  }
              }

          });

          form = dialog.find("form").on("submit", function (event) {
              alert("Submit");
              event.preventDefault();
          });

          $("#create-user").button().on("click", function () {
              dialog.dialog("open");
          });
      });
  </script>

-

<div id="dialog-form" style="display: none">
                <asp:Panel ID="AddReference" runat="server">
                    <form action=# id="form">
                        <asp:GridView ...>
                        <Columns>
                            ...
                        </Columns>      
                    </asp:GridView>
                    <input type="submit">
                </form>
                </asp:Panel>
</div>

1 个答案:

答案 0 :(得分:1)

我已经把你的代码放到了一个JSFiddle中,警报就为我开火了。

看看小提琴是否有效:

Demo

您的问题可能由多种因素引起:


1)错误的引用:

打开浏览器的开发者工具(F12),然后单击控制台。任何JS错误都会列在那里。我很抱歉,如果这是基本的,但从你的例子,你链接到jQueryUI但没有jQuery的引用。你必须要兼顾两者,如果jQuery被错误地引用,你会在JS控制台中看到:

$ is undefined.

2)不兼容的版本:

如果它不是引用错误,请确保您拥有稳定版本的jQuery和jQuery UI。 (最新版本的jQuery UI(v1.11.0)需要jQuery 1.6+)


3)回发:

如果您使用超链接触发对话,则需要使用以下任一方法取消对话框的默认操作:

防止默认:

$("#create-user").button().on("click", function (e) {

    //somecode

    e.preventDefault();
});

或返回False:

$("#create-user").button().on("click", function () {

    //somecode

    return false;
});

请注意:在小提琴示例中,我更改了对话框的宽度和高度,使其适合输出窗格。