我有成功将项目添加到列表的客户端 javascript 代码。我现在想在创建新项目后通过相同的脚本打开它,但是直到我允许由 executeQueryAsync context.executeQueryAsync(onQuerySucceeded , onQueryFail); 调用的 onQuerySucceeded 脚本后新项目才会打开。 已被允许运行。
在 onQuerySucceeded 完成之前,新项目不会从 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());
}