让Javascript在SharePoint 2010上运行时遇到问题
Having problems getting Javascript to work on SharePoint 2010
上周我在寻求帮助,为SharePoint 2007制作一个简单的javascript代码,用于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>
结束日期是一个可能会被隐藏的字段,但只是用作占位符,以查找从现在到项目过期的差异。
谢谢大家的回复。
编辑:好的,谢谢罗伯特,你真的帮了我很多。当我看到你的最后一条评论时,我正要发布这个。我现在已经非常接近了,因为我一直在谷歌上搜索和研究你在第一条评论中所说的话,我已经走到了这一步:
<
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>
我想我唯一要做的就是弄清楚如何获得当前项目,这样我就可以设置该特定项目的剩余时间。你知道怎么做吗?我和我想的那么近吗?再次感谢你的帮助。
使用javascript访问SharePoint时,使用的是ECMA客户端对象模型。我还没有使用过07版的客户端对象模型,但我已经使用过10版,并且可以立即判断您发布的代码在sp10中不起作用。至少在sp10.com中,每次获取SharePoint对象的新实例(列表、web、listItem、列等)时,都需要将该项设置到本地上下文中,然后通过异步方法在服务器上加载上下文。只有在该点之后,才能访问所需的引用对象中的字段。如果你想不通,请告诉我。以下是一些示例代码:http://pastebin.com/3amgaEhv
编辑:关于更新列表项,我刚刚找到了这个链接,在这里:http://sprider.org/2011/12/13/sharepoint-ecmascript-to-adddeleteupdateget-list-items/
- 将PHP变量传递给jQuery时遇到问题
- 使用压缩的JavaScript文件(不是运行时压缩)
- 如何在运行时在angular 2中加载外部js脚本
- JavaScript错误:Microsoft JScript运行时错误:应为对象
- Google 脚本:用于创建日历活动的脚本运行时不会出错,但不会执行任何操作
- 在AJAX回调和呈现PIXIJS之间处理程序流时遇到了问题
- http.listen()在运行时接受终端命令
- 将jQuery转换为用户脚本的普通Javascript时遇到问题
- 自定义运行时Can'在谷歌应用引擎中看不到我的自定义日志
- 实现比较方法的最佳实践是什么;s的比较类型是在运行时选择的
- JavaScript运行时是如何工作的
- 在运行时创建元素时移到一边时出错
- 如何在运行时在HTML5画布中绘制正方形
- 如何在运行时使用javascript隐藏图像
- 将子文档推送到父数组时遇到问题
- JQuery FullCalendar在从ajax成功调用rerenderEvents时遇到问题
- 让Javascript在SharePoint 2010上运行时遇到问题
- 运行 Javascript 函数时遇到问题
- 我在运行时更改 treadnulls 属性时遇到问题
- 使用Gantry 4 Framework在Joomla 3.0上运行引导工具提示时遇到问题