javascript - If 语句给出不正确的结果。

标签 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/

我认为我的 if 条件可能没有正确表述:

if($(xData.responseXML).find('errorstring')){ Alert('请正确填写表格'); 返回; }

最佳答案

使用这个:

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

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

关于javascript - If 语句给出不正确的结果。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19598492/

相关文章:

javascript - 需要在 ExtendScript 中对对象进行 JSON 字符串化

javascript - 如何按值将对象传递给 Angular2+ 组件

javascript - 如何从加载到 javascript 的导出 XML 数据中删除不需要的空格

xml - Worldpay 直接 XML

xml - 使用 XSLT 显示序列号

javascript - IE无法管理 "global"变量?

javascript - Marionette.js CollectionView,只渲染特定模型

javascript - 向文本框添加永久前缀

php - Google recaptcha 与我的 jquery/ajax 函数

jquery - 层次结构请求错误: DOM Exception 3 when trying to insertbefore