0

这个想法很简单:在 SP Designer 2010 中创建一个允许创建新列表项的 Web 部件页面,然后使用 CSOM 中的一些 javascript 在另一个页面的模式对话框中弹出页面。问题是出现一个对话框并短暂闪烁它正在加载内容,但随后它消失了,我只剩下刚刚单击的页面的刷新版本。这是我的代码。. .

//attach a click delegate to the table containing the following button(s)
<button type='button' class='ms-listheaderlabel'>Close</button>

//on button clicked event, call the following function
function openModalDialog(dialogPage, closeCallback) {
  var options = [];
  options.title = unescape("Close Ticket");
  options.allowMaximize = true;
  options.showClose = true;
  options.autoSize = true;
  options.url = dialogPage;
  options.dialogReturnValueCallback = Function.createDelegate(null, closeCallback);
  SP.UI.ModalDialog.showModalDialog(options);
};

. . . 其中 dialogPage 是我创建的表单(同一个站点,SitePages 库)的 url,closeCallback 是传入的匿名函数,用于处理来自对话框的返回值。我试过直接调用页面,它加载得很好。弹出窗口阻止程序完全关闭。使用IE9并尝试了8兼容模式以及另一台直接使用IE8的机器。系统模式工作得很好。有什么想法吗?

4

1 回答 1

3

我现在正在经历完全相同的问题。到目前为止我发现的是,如果我使用

<input type="button" value="Try Me" onclick="openModalDialogBox()" />

它按预期工作。但是,如果我使用 asp:button 来做同样的事情,它就会失败。我认为这可能与回发到服务器有关,但我可能错了。

我只是将我的按钮切换到输入。

蒂姆

于 2011-11-22T22:52:52.650 回答