Post 到 SharePoint 列表 HTML/js Web 表单

Post to SharePoint List HTML/js Web Form

我在用头撞墙。我看过很多例子,但无法让它发挥作用。

我正在尝试使用具有 javascript 基础(没有 C#/ASPX,不是 Visual Studio 解决方案或 SharePoint Designer 解决方案。)的简单 HTML 页面来添加项目到 SharePoint 列表。我的问题似乎是让 'SP.Runtime.js' & 'SP.js' 文件加载到我的 javascript 中。我这么说是因为在我使用的示例中 (),当我得到包含 'SP.Data.WorkflowTasksItem' 的行时,调试器会抛出一个 SP not defined 错误。

我的研究表明我需要包含来自 SharePoint 站点的 SP javascript 文件。我在下面添加了这段代码以从 Sharepoint 服务器中提取两个 js 文件,但它开始执行第一个 getScript 然后停止,没有任何错误消息或任何登录到控制台的内容。

这是我的 javascript:

//  js/index.js
$(document).ready(function() {
    $('#request_form').bootstrapValidator({
        submitHandler: function(validator, form, submitButton) {
            //Call CreateListItem function once sp.js is loaded
            ExecuteOrDelayUntilScriptLoaded(createListItem, "sp.js");
        }
    }
}

这是我的html头像

<head>
    <meta charset="UTF-8">
    <title>Title</title>

    <link rel='stylesheet prefetch' href='https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css'>
    <link rel='stylesheet prefetch' href='https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap-theme.min.css'>
    <link rel='stylesheet prefetch' href='https://cdnjs.cloudflare.com/ajax/libs/jquery.bootstrapvalidator/0.5.0/css/bootstrapValidator.min.css'>
    <link rel="stylesheet" href="css/style.css">

    <script src='https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js'></script>
    <script src='https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js'></script>
    <script src='https://cdnjs.cloudflare.com/ajax/libs/bootstrap-validator/0.4.5/js/bootstrapvalidator.min.js'></script>
    <script type='text/javascript' src='/_layouts/15/sp.runtime.js'></script>
    <script type='text/javascript' src='/_layouts/15/sp.js'></script>
    <script src='js/index.js'></script>
</head>

使用新代码时,出现引用错误:

Uncaught ReferenceError: ExecuteOrDelayUntilScriptLoaded is not defined

您可以在 HTML 文件的部分参考 SP.JS 和 SP.RUNTIME.JS。

<script type="text/javascript" src="/_layouts/15/sp.runtime.js"></script>
<script type="text/javascript" src="/_layouts/15/sp.js"></script>

在javascript代码中,可以使用ExecuteOrDelayUntilScriptLoaded()函数调用createListItem。

喜欢下面的片段:

//Function to create List Item
function createListItem() {
alert('List Item Created');
}

//Call CreateListItem function once sp.js is loaded
ExecuteOrDelayUntilScriptLoaded(createListItem, "sp.js");