客户端对象模型调用context.executeQueryAsync:将项添加到列表后,在onQuerySuccesse
Client Object Model call context.executeQueryAsync: After adding an item to a list, cant open the new item until the onQuerySucceeded completes?
我有客户端javascript代码,可以成功地将项目添加到列表中。我现在想在创建新项目后通过相同的脚本打开它,但直到我允许executeQueryAsync上下文调用onQuerySuccessed脚本。executeQuery异步(onQuerySucceed,onQueryFail),新项目才会打开;已被允许运行。
在onQuerySuccessed完成之前,新项目不会从SP列表或代码中打开。项目似乎已锁定。在允许调用完成后不久,可以通过任何方法打开该项。
我需要调用context.dispose()还是有其他方法来提交行并释放任何sp锁?
//
newItem.update();
context.load(newItem);
context.executeQueryAsync(onQuerySucceeded , onQueryFail);
SP.UI.Notify.removeNotification(nid);
nid ='';
function onQuerySucceeded (sender, args) {
var lnewItem_ID = newItem.get_id();
gNewItemId=lnewItem_ID;
nid ='';
if (gOpenNewItemDialog == "true" && gNewItemId != "" )
{
try
{
var linktopopup ="https://my.site.com/teams/abc/_layouts/listform.aspx?PageType=6&ListId={A88775A1-18F4-482C-A5AC-6F44C5B1CF03}&ID=" + gNewItemId;
// this call hangs. Also, item shows in sp list but cant be opened.
OpenPopup(linktopopup, "Edit new matter Task");
}
catch(err)
{
alert(' :( ');
}
gOpenNewItemDialog=false; //reset
}
}
function onQueryFail(sender, args) {
alert('Failed to add new item. 'nError: ' + args.get_message() + ''nStackTrace: ' + args.get_stackTrace());
}
更新:编辑任务对话框现在按预期打开项目。我不知道为什么。我可能更改了与任务更改电子邮件通知相关的列表设置。
HTH-
/bac
相关文章:
- 要求输入在数据列表中
- 从javascript创建一个列表
- 如何使用jQuery选择下拉列表的值
- 将输入字段中的文本提交到我的数据库,同时将其添加到我的列表中
- 将jsp文件下拉列表中的选定项分配给一个java变量(比如String selection)
- Javascript按钮下拉列表
- 如何使用json将对象列表从java转换为javascript
- 区分JSON中的矩阵和列表列表
- jQuery表单添加不适用于下拉列表
- 用每小时的差值填充数组/列表-从下拉列表中给定两个时间值
- 接受不在列表中的值-引导组合框
- 禁用jQuery中的下拉列表
- 从HTTPGET返回一个自定义对象列表,以便在Angular 2应用程序中使用
- 如何在javascript中迭代数字列表
- 如何在按钮中显示下拉列表中选定的元素
- 为什么HTML5拖放的目标是孩子?(可排序列表)
- 鼠标悬停事件影响列表中所有行中的按钮,而不仅仅是特定按钮
- 使用图像数组列表的simplegallary.js显示适合桌面屏幕的图像
- 如何在从多选下拉列表中选择选项值时动态生成文本框
- 角度的项目列表 ng 重复,ng 单击显示全宽描述