如果陈述给出错误的结果。

时间:2013-10-25 20:00:59

标签: javascript jquery xml if-statement

我有此代码可以向网站添加列表(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,则')){         提醒('请填写表格正确');         返回;       }

1 个答案:

答案 0 :(得分:2)

使用此:

if($(xData.responseXML).find('errorstring').length > 0){

当没有匹配时.find()返回的空集合是真实的。