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 2013SP.ClientContext object 在 MSDN

无论如何,您可以通过两种方式使用 ClientContext

  1. var clientContext = SP.ClientContext.get_current(); 用于在 Sharepoint 页面内获取当前上下文
  2. var clientContext = new SP.ClientContext(siteUrl); 用于创建具有任意 url
  3. 的新上下文

另一个提示是等待 sp.js 加载

SP.SOD.executeFunc('sp.js', 'SP.ClientContext', sharePointReady);

请参阅第二个 link 的 MSDN 页面上的示例或查看此 sharepoint.stackexchange.com article