JQuery对话模态框架

时间:2013-07-31 20:31:25

标签: javascript jquery html dialog

我正在尝试在我的页面上使用对话框元素,但我遇到了一些问题。看起来盒子本身没有出现。我在对话框中有一个iframe正常工作(除了一些大小调整问题),但是框的标题栏和(有时)按钮没有显示。我在网上看到,其原因通常是没有包含JQuery UI css文件,但我不认为这是问题,因为我有链接,它是从另一个创建对话框的页面复制的正常。我无法确定它是否相关,但我在SharePoint Designer中创建页面,它使用两种不同的标准来评估页面,其中一个(非工作的)声称{{1标签是一个错误,说“在XHTML 1.0中严格标签不能包含”。但是,<link>标记周围没有<div>,设计人员还说在此版本的XHTML中不允许使用许多名为<link>的SharePoint创建的标签。包含创建对话框的代码以供参考:

<SharePoint:...>
<div id='am_schedDetailModal' title='Details'>
  <div class='ui-widget'></div>
</div>

对此问题的任何帮助都将不胜感激。

编辑:我相当确定包含CSS的$(document).ready(function() { $("#am_schedDetailModal").dialog({ autoOpen: false, modal: true, buttons: { 'Close': function() { $(this) .html('') .dialog('close'); } } }); }); function onClick() { var width = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth; var height = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight; $('#am_schedDetailModal').dialog('option', 'width', Math.floor(width * .7)); $('#am_schedDetailModal').dialog('option', 'height', Math.floor(height * .7)); $('#am_schedDetailModal div').html("<iframe id='am_mdl_iframe' src='" + input + "' height='100%' width='100%'>"); $('#am_schedDetailModal').dialog('open'); } 根本没有被加载,因为iframe会显示相应的<link> s围绕它应该出现在模态框中。但是,我仍然不明白为什么没有加载CSS。

1 个答案:

答案 0 :(得分:0)

好吧,我不知道原因是什么,但我找到了一个新的地方放置<link>标签,现在它正在正确加载。如果其他人在使用SharePoint网页部件页面时遇到此问题,请尝试将标记放在我可能忽略的最明显的位置 - 包含<asp:Content>标记的<meta>标记。