在 SharePoint 2010 上创建“添加新项目”按钮

Creating an "Add new item" button on SharePoint 2010

本文关键字:新项目 添加新项目 按钮 添加 SharePoint 2010 创建      更新时间:2023-09-26

我正在创建一个SharePoint网站,需要一些帮助。在我的主页上,我想要一个按钮,有人可以在其中单击以添加信息,单击按钮后,我希望打开一个模态窗口。窗口打开后,它应该提示人们输入信息并将其保存到后台某处的列表中。我已经做了一些谷歌搜索,但找不到这个。到目前为止,我尝试了我在谷歌上找到的这个JavaScript,但我似乎无法让它工作。您将在下面看到javascript,在下面您将找到一个imgur链接,以更好地显示我正在努力实现的目标。

https://i.stack.imgur.com/9a3fC.jpg

<script type='text/javascript'>
    function OpenNewForm() {
        var listName = 'MyListUrl';
        var options =
        {
            url: L_Menu_BaseUrl + "/Lists/" + listName + "/EditForm.aspx?ID=1&IsDlg=1",
            dialogReturnValueCallback: Function.createDelegate(null,newFormClosedCallback)
        };
        SP.UI.ModalDialog.showModalDialog(options);
    }
    function newFormClosedCallback(result, target) {
        if (result === SP.UI.DialogResult.OK) {
            SP.UI.Notify.addNotification("List item was added.", false);
        }
        if (result === SP.UI.DialogResult.cancel) {
            SP.UI.Notify.addNotification("Add new item was cancelled.", false);
        }
    }
</script>
<input value='add a new item' type='button' onclick='OpenNewForm();' id='btnNewForm' />    

您提供的示例代码将起作用。您只需要进行一些小的更改即可引用您的列表。此外,此代码引用 editForm.aspx,如果要添加信息,则需要 newForm.aspx。

     function openNewForm() {
        var listName = 'DisplayTitleOfYourList';
        var options =
        {
            url: _spPageContextInfo.webAbsoluteUrl + "/Lists/" + listName + "/NewForm.Aspx",
            dialogReturnValueCallback: Function.createDelegate(null,newFormClosedCallback)
        };
        SP.UI.ModalDialog.showModalDialog(options);
    }
    function newFormClosedCallback(result, target) {
        if (result === SP.UI.DialogResult.OK) {
            SP.UI.Notify.addNotification("List item was added.", false);
        }
        if (result === SP.UI.DialogResult.cancel) {
            SP.UI.Notify.addNotification("Add new item was cancelled.", false);
        }
    }
<input value='add a new item' type='button' onclick='openNewForm();' id='btnNewForm' />

根据网站和页面的设置方式,您可能无法直接从内容编辑器或脚本编辑器 Web 部件执行 javascript。我总是建议使用JS链接将javascript链接到页面,因为我觉得它更干净,更容易管理。有关详细信息,请参阅这些帖子:

https://sharepoint.stackexchange.com/questions/93627/the-xss-auditor-refused-to-execute-a-script-in-from-chrome-when-using-scri

https://sharepoint.stackexchange.com/questions/98583/javascript-in-content-editor-web-part-not-working-after-publishing-the-pageJavascript 在 Web 部件中不起作用

https://sharepoint.stackexchange.com/questions/119018/how-do-you-use-js-link-with-pages