发布到SharePoint列表HTML / js Web窗体

时间:2017-03-13 21:51:48

标签: javascript sharepoint-2013 sharepoint-list

我正撞在墙上。我看了很多例子,但是无法让它发挥作用。

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

我的研究表明,我需要在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>

使用新代码,我收到了一个引用错误:

  

未捕获的ReferenceError:未定义ExecuteOrDelayUntilScriptLoaded

1 个答案:

答案 0 :(得分:0)

您可以在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");