Javascript 在共享点中不起作用
Javascript in sharepoint not working
我的任务是获取费用报告列表并添加一个全部批准按钮,该按钮会将列表中每个项目的下拉列表更改为已批准。我正在研究如何在 sharepoint 中使用 javascript 的几个教程,但我正在用头撞墙试图弄清楚为什么我的代码不是 运行。我在 asp:content 区域添加了一个 asp:button,并在其中添加了一个带有函数的脚本标签。见下文:
<asp:Button runat="server" Text="Approve All" id="approvebutton" OnClientClick="dosomething()"></asp:Button>
<script type="text/javascript" src="//code.jquery.com/jquery-1.11.0.min.js"></script>
<script type="text/javascript" src="/_layouts/15/sp.js"></script>
<script type="text/javascript">
function dosomething()
{
var clientContext = SP.ClientContext();
//var olist = clientContext.get_web().get_lists().getByTitle('b612de4b-f85c-4492-8877-8c2b07ae187d');
//clientContext.load(olist);
//clientContext.executeQueryAsync(
// Function.createDelegate(this, this.onQuerySucceeded),
// Function.createDelegate(this, this.onQueryFailed)
// );
alert("Should be done");
//$("#{26787EDD-BCDC-41D2-ABEE-249747203BE8}-{69F3E959-EB93-458F-A4CD-E1ACA2335D10}").hide("slow");
//$("#ctl00_onetidHeadbnnr2").hide("slow");
}
//function onQuerySucceeded(sender, args)
//{
//
// alert("Title: " + olist.get_title()));
//}
//function onQueryFailed(sender, args)
//{
// alert("Request failed");
//}
</script>
如果我的函数中只有警报,代码就可以工作,但是一旦我添加第一行,即 SP.ClientContext() 行,它就会中断。之后没有任何执行,我无法弄清楚为什么。任何帮助将不胜感激。
提前致谢!
你用错了SP.ClientContext
。
查看 Complete basic operations using JavaScript library code in SharePoint 2013
和 SP.ClientContext object 在 MSDN
无论如何,您可以通过两种方式使用 ClientContext:
var clientContext = SP.ClientContext.get_current();
用于在 Sharepoint 页面内获取当前上下文
var clientContext = new SP.ClientContext(siteUrl);
用于创建具有任意 url 的新上下文
另一个提示是等待 sp.js 加载
SP.SOD.executeFunc('sp.js', 'SP.ClientContext', sharePointReady);
请参阅第二个 link 的 MSDN 页面上的示例或查看此 sharepoint.stackexchange.com article
我的任务是获取费用报告列表并添加一个全部批准按钮,该按钮会将列表中每个项目的下拉列表更改为已批准。我正在研究如何在 sharepoint 中使用 javascript 的几个教程,但我正在用头撞墙试图弄清楚为什么我的代码不是 运行。我在 asp:content 区域添加了一个 asp:button,并在其中添加了一个带有函数的脚本标签。见下文:
<asp:Button runat="server" Text="Approve All" id="approvebutton" OnClientClick="dosomething()"></asp:Button>
<script type="text/javascript" src="//code.jquery.com/jquery-1.11.0.min.js"></script>
<script type="text/javascript" src="/_layouts/15/sp.js"></script>
<script type="text/javascript">
function dosomething()
{
var clientContext = SP.ClientContext();
//var olist = clientContext.get_web().get_lists().getByTitle('b612de4b-f85c-4492-8877-8c2b07ae187d');
//clientContext.load(olist);
//clientContext.executeQueryAsync(
// Function.createDelegate(this, this.onQuerySucceeded),
// Function.createDelegate(this, this.onQueryFailed)
// );
alert("Should be done");
//$("#{26787EDD-BCDC-41D2-ABEE-249747203BE8}-{69F3E959-EB93-458F-A4CD-E1ACA2335D10}").hide("slow");
//$("#ctl00_onetidHeadbnnr2").hide("slow");
}
//function onQuerySucceeded(sender, args)
//{
//
// alert("Title: " + olist.get_title()));
//}
//function onQueryFailed(sender, args)
//{
// alert("Request failed");
//}
</script>
如果我的函数中只有警报,代码就可以工作,但是一旦我添加第一行,即 SP.ClientContext() 行,它就会中断。之后没有任何执行,我无法弄清楚为什么。任何帮助将不胜感激。
提前致谢!
你用错了SP.ClientContext
。
查看 Complete basic operations using JavaScript library code in SharePoint 2013 和 SP.ClientContext object 在 MSDN
无论如何,您可以通过两种方式使用 ClientContext:
var clientContext = SP.ClientContext.get_current();
用于在 Sharepoint 页面内获取当前上下文var clientContext = new SP.ClientContext(siteUrl);
用于创建具有任意 url 的新上下文
另一个提示是等待 sp.js 加载
SP.SOD.executeFunc('sp.js', 'SP.ClientContext', sharePointReady);
请参阅第二个 link 的 MSDN 页面上的示例或查看此 sharepoint.stackexchange.com article