sharepoint中的Javascript无法正常运行

时间:2015-06-25 13:04:10

标签: javascript sharepoint

我的任务是获取费用报告列表并添加一个批准所有按钮,该按钮会将列表中每个项目的下拉列表更改为已批准。我正在研究如何在sharepoint中使用javascript的几个教程,但是我正在试图找出我的代码没有运行的问题。我在asp:content区域添加了一个asp:按钮,并在其中添加了一个带有函数的脚本标记。见下文:

<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()行,它就会中断。之后没有任何执行,我无法弄清楚原因。任何帮助将不胜感激。

提前致谢!

1 个答案:

答案 0 :(得分:0)

你错误地使用SP.ClientContext

参见Complete basic operations using JavaScript library code in SharePoint 2013 和MSDN上的SP.ClientContext object

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

  1. var clientContext = SP.ClientContext.get_current();用于获取当前上下文(如果您位于Sharepoint页面
  2. 中)
  3. var clientContext = new SP.ClientContext(siteUrl);用于创建具有任意网址的新上下文
  4. 另一个提示是等到加载sp.js

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

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