如何使用javascript打开Sharepoint模式对话框以提示用户输入

时间:2016-10-06 19:29:43

标签: javascript sharepoint sharepoint-2013 nintex-workflow

我正在尝试使用一些JavaScript来打开SharePoint模式对话框以提示用户输入,然后将该值存储到变量中。有谁知道如何做到这一点?我正在为Nintex任务表单这样做。

1 个答案:

答案 0 :(得分:3)

到目前为止你尝试了什么?最简单的选择是利用SP.UI.ModalDialog类,该类提供打开本机SP模式的方法 - 您可以通过URL参数加载单独的页面(ASPX,HTML等)或直接将HTML传递给模式呈现。

使用这两种方法,您的标记可以包含<input>以捕获用户的值,并随附JS以将输入值存储在您想要的任何位置(包括在变量中)。

根据您使用的其他JS(如果有)或页面的设置方式,您可能还需要利用SP2013&#34; Script On Demand&#34; (SOD)函数确保加载SP模态所需的JS。

这是一个简单的例子:

function OpenMyModal(SomeVar) {
    // If using inline HTML, first create a parent element...
    var MyHtmlElement = document.createElement('div');
    // ... then populate it
    MyHtmlElement.innerHTML = '<input... />';

    // Define the Modal's options
    var options = {
        // define a URL (and yes, you can pass params to that URL) or reference your HTML object, but NOT both!
        url: '../MyPage.aspx?MyParam=' + SomeVar + '&IsDlg=1',
        // html: MyHtmlElement,
        tite: 'Modal Title',
        allowMaximize: false,
        showClose: true,
        width: 430,
        height: 230
    };
    // This ensures the supporting JS needed is loaded on the page
    SP.SOD.execute('sp.ui.dialog.js', 'SP.UI.ModalDialog.showModalDialog', options);
    return false;
}