我有一个在SharePoint列表中运行的脚本,根据名为TD Status的字段更新超链接或图像列的URL值,然后我需要再次阅读此更新字段以进行验证。现在我正在测试是否通过名为CurrentStageImg的测试字段进行更新,当我调用UpdateListItems时,字段更新正常,但是在设置其值并且脚本再次运行后,调用$(this).attr( “ows_CurrentStageImg”);即使我可以清楚地看到列列在SharePoint列表中,也会在测试警报上保持返回“未定义”。我现在非常沮丧,非常感谢帮助。我的代码如下:
$().SPServices({
operation: "GetListItems",
async: false,
listName: "Software Request",
CAMLQuery: query,
completefunc: function (xData, Status) {
$(xData.responseXML).SPFilterNode("z:row").each(function() {
var tdStatus = $(this).attr("ows_TD_x0020_Status0");
var currItemImg = $(this).attr("ows_CurrentStageImg");
var itemId = $(this).attr("ows_ID");
alert(itemId + " " + currItemImg);
在上面的代码中,currItemImg的值应该与tdStatus相同,因为这是我用于测试目的,正如我所说,字段CurrentStageImg填充在列表上,这是 该字段的内部名称所以我不知道我做错了什么....这里是更新调用代码: (TD Status和CurrentStageImg都是具有相同值的下拉...不确定这是否是一个因素......
updateListItem(itemId,'CurrentStageImg', tdStatus);
function updateListItem(updateItemId, field2, newValue2) {
var list = "Software Request";
//perform actual update
$().SPServices({
operation:"UpdateListItems",
listName: list,
ID: updateItemId,
valuepairs: [[field2, newValue2]]
});
}