看来,当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>
答案 0 :(得分:1)
我已经把你的代码放到了一个JSFiddle中,警报就为我开火了。
看看小提琴是否有效:
您的问题可能由多种因素引起:
打开浏览器的开发者工具(F12),然后单击控制台。任何JS错误都会列在那里。我很抱歉,如果这是基本的,但从你的例子,你链接到jQueryUI但没有jQuery的引用。你必须要兼顾两者,如果jQuery被错误地引用,你会在JS控制台中看到:
$ is undefined.
如果它不是引用错误,请确保您拥有稳定版本的jQuery和jQuery UI。 (最新版本的jQuery UI(v1.11.0)需要jQuery 1.6+)
如果您使用超链接触发对话,则需要使用以下任一方法取消对话框的默认操作:
防止默认:
$("#create-user").button().on("click", function (e) {
//somecode
e.preventDefault();
});
或返回False:
$("#create-user").button().on("click", function () {
//somecode
return false;
});
请注意:在小提琴示例中,我更改了对话框的宽度和高度,使其适合输出窗格。