上周我正在寻求帮助,以获得为 SharePoint 2007 制作的用于 SharePoint 2010 的简单 javascript 代码,但并没有真正得到明确的答案,不幸的是我可以在我工作的地方使用,所以我决定尝试自己制作。它应该是一个拍卖列表,并且在“剩余时间”字段中有一个倒计时,直到该项目过期,但我不知道出了什么问题。我对 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>
结束日期是一个可能会被隐藏的字段,但仅用作占位符以查找从现在到项目过期的差异。
感谢大家的任何回复。
编辑:好的,谢谢罗伯特,你真的帮了很多忙。当我看到你最后的评论时,我正要发布这个。我现在非常接近,因为我一直在谷歌搜索和研究你在第一条评论中所说的话,我已经走到了这一步:
<
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>
我认为我唯一要做的就是弄清楚如何获取当前项目,以便我可以为该特定项目设置剩余时间。你知道怎么做吗?我和我想的一样接近吗?再次感谢您的帮助。