Javascript 给出错误结果的If语句。
我使用此代码将列表添加到网站(SharePoint)。我添加了一个条件,如果用户填写表单时出错,我会提醒用户。当XML中出现错误时,我通常使用.find(“errorstring”)。现在,我的代码不断提醒我有错误,即使当我查看XML错误字符串时,它并不存在。代码如下:Javascript 给出错误结果的If语句。,javascript,jquery,xml,if-statement,Javascript,Jquery,Xml,If Statement,我使用此代码将列表添加到网站(SharePoint)。我添加了一个条件,如果用户填写表单时出错,我会提醒用户。当XML中出现错误时,我通常使用.find(“errorstring”)。现在,我的代码不断提醒我有错误,即使当我查看XML错误字符串时,它并不存在。代码如下: function createList(){ if(!siteUrl){ alert("You must first select a site"); return; } var listName =
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响应:
我认为我的if条件可能没有正确说明:
if($(扩展数据.responseXML).find('errorstring')){
警告(“请正确填写表格”);
返回;
}使用以下方法:
if($(xData.responseXML).find('errorstring').length > 0){
当没有匹配项时,
.find()
返回的空集合是真实的。尝试不使用$<代码>如果((xData.responseXML.find('errorstring')){…那么如果长度为0,是否返回false?我已将答案更改为使用比较,因为这样可以更清楚地说明目的。