我正在使用SPServices来更新某个字段,但它没有更新,也没有让人感到沮丧。
我已经能够使用此代码更新其他字段,因此我只能得出内部字段名称不正确的结论。
$().SPServices({
operation: "UpdateListItems",
async: false,
batchCmd: "Update",
listName: "Staff Rewards",
ID: $(this).attr("ows_ID"),
valuepairs: [["Processed%5Fx0020%5FDate", "Processed"]],
completefunc: function (xData, Status) {
}
});
InfoPath 2010中的字段名称为"处理日期"但是一旦提升,字段名称就变为" Processed_x0020_Date"在使用视图URL的SharePoint中,在“列设置”URL中,字段名称为:已处理%5Fx0020%5FDate
我已尝试过所有这些字段名称,但仍无法获取要更新的列表!
答案 0 :(得分:2)
使用valuepairs
的语法,必须指定列StaticNames的数组和值:
$().SPServices({
operation: "UpdateListItems",
async: false,
batchCmd: "Update",
listName: "Staff Rewards",
ID: $(this).attr("ows_ID"),
valuepairs: [["Processed_x0020_Date", "Processed"]],
completefunc: function (xData, Status) {
}
});
此外,请确保为更新操作传递正确的列表项ID:
$(this).attr("ows_ID")
答案 1 :(得分:0)
好的,终于明白了!!,不得不使用" Inspect Element"检查SharePoint认为我的字段的内部名称是什么,你会相信吗......似乎由于某种原因,对于更长的名称,SharePoint只会在看起来像32个字符后终止它们....我的字段名称(内部名称)在最终HTML中的一个评论中显示(看到使用" Inspect Element")是" Previous_x0020_Request_x0020_Sta"我所拥有的显示名称是"以前的请求状态"
这很奇怪,怎么会有人知道这个:-(哦,SharePoint !!
我的内部名称在32个字符后被终止的结论可能是错的,但我的代码现在工作了!使用那个截断的名称....所以可能是SpServices中的东西,如果不是SharePoint ....但据我所知....这似乎是一个SharePoint问题...这就是现在的样子。