想法很簡單:在SP Designer 2010中創建一個Web部件頁面,該頁面允許創建一個新的列表項目,然後使用CSOM中的一些JavaScript以模態形式彈出頁面來自另一頁的對話框。問題是出現一個對話框,並短暫閃爍表示它正在加載內容,但隨後它消失了,並且我留下了剛剛單擊的網頁的刷新版本。這是我的代碼。 。 。來自JSOM的SharePoint 2010模態對話框不起作用
//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的機器。系統模式工作得很好。那裏有任何想法?
就是這樣!蒂姆,你是個天才。按鈕的默認類型是「提交」,因此一出現對話框,它就會吸收提交併立即關閉。我添加了type =「button」到我的按鈕,它的工作原理!謝謝! – Toadmyster