使用SPServices UpdateListItems不能写两个以上的字段

时间:2012-01-20 13:37:05

标签: jquery sharepoint

我正在以编程方式在SharePoint(MOSS)列表中创建列表项。我已经成功使用了几种不同的技术,只要我将字段数限制为两个。实际上,我需要提供76个字段值。我正在尝试SPServices UpdateListItems方法。最新版本的jQuery(1.7.1)和SPServices(0.7.0)。

我的第一个方法是使用valuepairs选项。我有两个数组可以用来喂它。两个值都很好。然后我尝试静态填充变量并使用它们。结果相同。切换到CAML批处理方法。结果相同。

完整的功能状态始终为“成功”。什么都没有写入清单。

var batch = "<Batch OnError='Continue'><Method ID='1' Cmd='New'>";
batch += "<Field Name='" + varTitle + "'>" + varTitle_val + "</Field>";
batch += "<Field Name='" + varformid + "'>" + varformid_val + "</Field>";
batch += "<Field Name='" + varee1 + "'>Hi!</Field>";
batch += "<Field Name='" + varee2 + "'>there</Field>";
batch += "<Field Name='" + varee3 + "'>how</Field>";
batch += "<Field Name='" + varee4 + "'>are</Field>";
batch += "</Method></Batch>";
$().SPServices({
  operation: "UpdateListItems",
  batchCmd: "New",
  listName: "CRMSAccessRequest",
// valuepairs: [[arFields[0],arValues[0]],[arFields[1],arValues[1]],[arFields  [2],arValues[2]]],  //fails with more than two fields
// valuepairs: [[varTitle,varTitle_val],[varformid,arValues[1]],[varee1,varee1_val],[varee2,varee2_val]],  // ditto
  updates: batch,      
  completefunc: function(xData, Status) {
    alert("status of write attempt: " + Status);
 }
}); //SPServices

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

您回来的“成功”只是告诉您交易成功。您需要查看返回的XML以查看可能存在的问题。

最简单的方法: 警报(xData.responseText);

我的猜测是你的一个或多个字段名称不正确。由于您正在使用列名称的变量,因此很难分辨。