我正撞在墙上。我看了很多例子,但是无法让它发挥作用。
我正在尝试使用带有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
答案 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");