我有此代码可以向网站添加列表(SharePoint)。我添加了一个条件,提醒用户填写表单时是否填写错误。当XML中存在错误时,我通常使用.find(“errorstring”)。现在我的代码不断向我发出警告,即使我查看XML错误字符串不存在时也会出现错误。这是代码:
function createList(){
if(!siteUrl){
alert("You must first select a site");
return;
}
var listName = $('#listName');
var listDesc = $('#listDesc');
var listTemp = $('#listTemplate');
var siteLists = $('#web_siteLists');
console.log(siteUrl+" - "+listName+" - "+listDesc+" - "+listTemp);
$().SPServices({
operation:"AddList",
webURL: siteUrl,
listName: listName.val(),
description: listDesc.val(),
templateID: listTemp.find(':selected').val(),
completefunc: function(xData, Status){
if($(xData.responseXML).find('errorstring')){
alert('Please fill form correctly');
return;
}else{
alert(listName+" created.");
siteLists.empty();
RefreshSiteList(siteUrl);
listName.val('');
listDesc.val('');
listTemp.val('default');
}
}
});
}
XML响应:http://jsfiddle.net/f6tRw/
我认为我的条件可能没有正确陈述:
如果($(xData.responseXML).find( 'Errorstring,则')){ 提醒('请填写表格正确'); 返回; }
答案 0 :(得分:2)
使用此:
if($(xData.responseXML).find('errorstring').length > 0){
当没有匹配时.find()
返回的空集合是真实的。