Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/437.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在SharePoint 2010上使用Javascript时遇到问题_Javascript_Jquery_Sharepoint_Sharepoint 2010 - Fatal编程技术网

在SharePoint 2010上使用Javascript时遇到问题

在SharePoint 2010上使用Javascript时遇到问题,javascript,jquery,sharepoint,sharepoint-2010,Javascript,Jquery,Sharepoint,Sharepoint 2010,上周我正在寻求帮助,以获得一个简单的javascript代码,该代码是为SharePoint 2007制作的,用于SharePoint 2010,但没有得到一个明确的答案,我可以在我工作的地方使用,很遗憾,所以我决定试着自己制作。它被允许是一个拍卖清单,并且在“剩余时间”字段中有一个倒计时,直到物品到期,但我不知道出了什么问题。我对javascript和sharepoint非常不熟悉,但我是一名经验丰富的程序员。有人能帮忙吗?下面是代码: <script type="text/javasc

上周我正在寻求帮助,以获得一个简单的javascript代码,该代码是为SharePoint 2007制作的,用于SharePoint 2010,但没有得到一个明确的答案,我可以在我工作的地方使用,很遗憾,所以我决定试着自己制作。它被允许是一个拍卖清单,并且在“剩余时间”字段中有一个倒计时,直到物品到期,但我不知道出了什么问题。我对javascript和sharepoint非常不熟悉,但我是一名经验丰富的程序员。有人能帮忙吗?下面是代码:

<script type="text/javascript">
var context = new SP.ClientContext.get_current();
var web = context.get_web();
var lists = web.get_lists();
var listId = SP.ListOperation.Selection.getSelectedList();
var list = lists.getById(listId);
var item = getItemByName("End Date");
var end = Date.parse(item.text())/1000;
var todayNow = new Date();
todayNow = Date.parse(today)/1000;
var result = (end-todayNow);
var item2 = getItemByName("Time Left");
item2.text(result);
</script>

var context=new SP.ClientContext.get_current();
var web=context.get_web();
var list=web.get_list();
var listId=SP.ListOperation.Selection.getSelectedList();
var list=lists.getById(listId);
var item=getItemByName(“结束日期”);
var end=Date.parse(item.text())/1000;
var todayNow=新日期();
todayNow=Date.parse(今日)/1000;
var result=(今天结束);
var item2=getItemByName(“剩余时间”);
项目2.文本(结果);
结束日期是一个可能会被隐藏的字段,但只是用作占位符来查找从现在到项目过期之间的差异

谢谢大家的回复

编辑:好的,谢谢罗伯特,你真的帮了很多忙。我刚要发布这篇文章,就看到了你最后的评论。我已经非常接近了,因为我一直在谷歌上搜索和研究你在第一次评论中说的话,我已经走到了这一步:

ExecuteOrderLayUntilScriptLoaded(getWebSiteData,“sp.js”); var-context=null; var-web=null; var列表=null; var listId=null; var list=null; var项=null; 函数getWebSiteData(){ context=new SP.ClientContext.get_current(); web=context.get_web(); lists=web.get_lists(); listId=SP.ListOperation.Selection.getSelectedList(); list=lists.getById(listId); 加载(列表“结束日期”); executeQueryAsync(Function.createDelegate (this,this.onSuccessMethod),Function.createDelegate (这个,这个.onFailureMethod)); } 函数onSuccessMethod(发送方,参数){ 警报('web标题:'+web.get_标题()+'\n ID:'+web.get_ID ()); } 函数onFailureMethod(发送方,参数){ 警报(“请求失败”+args.get\u消息 ()+'\n'+args.get_stackTrace()); } 我想我唯一要做的就是弄清楚如何获取当前项目,以便为特定项目设置剩余时间。你知道怎么做吗?我和我想的一样亲近吗?
再次感谢您的帮助。

当您使用javascript访问SharePoint时,您使用的是ECMA客户端对象模型。我已经07年没有使用客户机对象模型了,但是我已经在10年使用过了,我马上就能知道你发布的代码在sp10中不起作用。至少在SP10COM中,每次获取SharePoint对象的新实例(列表、web、listItem、列等)时,都需要将该项设置到本地上下文中,然后通过异步方法针对服务器加载上下文。只有在该点之后,才能访问所需的引用对象中的字段。如果你不明白,请告诉我。下面是一些示例代码:

编辑:
至于更新列表项,我在这里找到了这个链接:

当您使用javascript访问SharePoint时,您使用的是ECMA客户端对象模型。我已经07年没有使用客户机对象模型了,但是我已经在10年使用过了,我马上就能知道你发布的代码在sp10中不起作用。至少在SP10COM中,每次获取SharePoint对象的新实例(列表、web、listItem、列等)时,都需要将该项设置到本地上下文中,然后通过异步方法针对服务器加载上下文。只有在该点之后,才能访问所需的引用对象中的字段。如果你不明白,请告诉我不,我真的不明白,就像我说的javascript和sharepoint对我来说都是新的。到目前为止,我在SharePoint上唯一能弄明白的是如何在工作流中使用自定义操作。你介意编辑我的代码并给我看一些你的意思的例子吗?我真的很感激。哦,只是澄清一下,我没有SharePoint 2007。他们认为我的措辞会引起混乱。我是说我想用一个2007年兼容的javascript,让它在2010年运行。我今晚回家后可以试试,现在时间不够,对不起。这里有一些我曾经写过的旧javascript,这可能是一个有用的参考资料:Robert,这个例子对于我目前的技能水平来说似乎有点太复杂了,但我将它保存到收藏夹中以备将来使用。我编辑了上面的原始问题以显示我的进步。如果你能帮我完成最后一小段,我想我会完成的。谢谢
script type="text/javascript">
ExecuteOrDelayUntilScriptLoaded(getWebSiteData, "sp.js");
var context = null;
var web = null;
var lists = null;
var listId = null;
var list = null;
var item = null;
function getWebSiteData(){
context = new SP.ClientContext.get_current();
web = context.get_web();
lists = web.get_lists();
listId = SP.ListOperation.Selection.getSelectedList();
list = lists.getById(listId);
context.load(list, 'End Date');
context.executeQueryAsync(Function.createDelegate
(this, this.onSuccessMethod), Function.createDelegate
(this, this.onFailureMethod));
}
function onSuccessMethod(sender, args){
alert('web title:' + web.get_title() + '\n ID:' + web.get_id
());
}
function onFailureMethod(sender, args){
alert('request failed' + args.get_message
() + '\n' + args.get_stackTrace());
}
</script>