调用方法:var value = SP.UI.ModalDialog.showModalDialog(options);
例如:
1.dialogOptions类的建立
var options=SP.UI.$create_DialogOptions();注此条在office365中并不好用。
options.title="mydtitle";
options.width=500;
options.height=300;
options.url="/_layouts/upload.aspx";
SP.UI.ModalDialog.showModalDialog(options);
2.用普通对像来建立
var options={
title:"mydtitle",
width:500;
height:300;
url:"/_layouts/upload.aspx";
dialogReturvalueCallback:dialogCallback
};
SP.UI.ModalDialog.showModalDialog(options);
function dialogCallback(dialogresult,ReturnValue){
if(dialogResult==SP.UI.dialogResult.ok){
}else{
}
}
切记在所编辑的sp文件中脚本前面要加入如下的脚本引用:
<script type="text/javascript" src="//ajax.aspnetcdn.com/ajax/4.0/MicrosoftAjax.js'>
<script type="//ajax.aspnetcdn.com/ajax/jQuery/jquery-1.7.2.min.js" type-"text/javascript">
<script type="/_layouts/15/sp.rutime.js" type="text/javascript">
<script type="/_layouts/15/sp.js">
<script type="/_layouts/15/sp.core.js>
<script type="/_layouts/15/sp.ui.dialog.js">
如果options的参数是html
sf={
presentform:function(strHtml){
var options={
html:$(strHtml)[0],
width:500
};
SP.UI.ModalDialog.sowModalDialog(options);
}
}
strHTML options是Dom对象不是字符串。所以要用[0]来引用,
如果在document load时调用函数,应该设一个延缓加载时间值。
$(document).ready(function(){
setTimeout("sf.presentForm('<div>hi,here</div>')",2000)
})
}
url与html必有一个不为空。如果两个都不为空url优先考虑
在调用dialog时可以向其中传入参数
options.args
args可以通过SP.UI.ModalDialog.get_childDialog().get_args()来获得。
function ShowDialog()
{
var htmlElement=document.createElement(’p');
var helloWorldNode=document.createTextNode('Hello');
var htmlElement.appendChild(helloWorldNode);
var options={
html:htmlElement,
autosize:true,
allowMaximize:true,
title:'Text dialog’,
showClose:true;
};
var dialog=SP.UI.ModalDialog.showModalDialog(options);
}