diff --git a/chrome/content/zotero/bindings/itembox.xml b/chrome/content/zotero/bindings/itembox.xml index 2b6904a52b..be9af33a05 100644 --- a/chrome/content/zotero/bindings/itembox.xml +++ b/chrome/content/zotero/bindings/itembox.xml @@ -1584,8 +1584,7 @@ } else { // Add auto-complete for certain fields - if (Zotero.ItemFields.isAutocompleteField(fieldName) - || fieldName == 'creator') { + if (field == 'creator' || Zotero.ItemFields.isAutocompleteField(fieldName)) { t.setAttribute('type', 'autocomplete'); t.setAttribute('autocompletesearch', 'zotero'); diff --git a/chrome/content/zotero/xpcom/data/itemFields.js b/chrome/content/zotero/xpcom/data/itemFields.js index 0013f336cb..e5cfb1d955 100644 --- a/chrome/content/zotero/xpcom/data/itemFields.js +++ b/chrome/content/zotero/xpcom/data/itemFields.js @@ -347,7 +347,11 @@ Zotero.ItemFields = new function() { this.isAutocompleteField = function (field) { - field = this.getName(field); + var fieldName = this.getName(field); + if (!fieldName) { + Zotero.logError(`Can't check autocomplete for invalid field '${field}'`); + return false; + } var autoCompleteFields = [ 'journalAbbreviation', @@ -377,7 +381,7 @@ Zotero.ItemFields = new function() { autoCompleteFields = autoCompleteFields.concat(add); } - return autoCompleteFields.indexOf(field) != -1; + return autoCompleteFields.includes(fieldName); }