diff options
Diffstat (limited to 'modules/luci-base')
-rw-r--r-- | modules/luci-base/htdocs/luci-static/resources/form.js | 26 |
1 files changed, 14 insertions, 12 deletions
diff --git a/modules/luci-base/htdocs/luci-static/resources/form.js b/modules/luci-base/htdocs/luci-static/resources/form.js index e9c8d2eb00..fbdd73e55e 100644 --- a/modules/luci-base/htdocs/luci-static/resources/form.js +++ b/modules/luci-base/htdocs/luci-static/resources/form.js @@ -2212,21 +2212,23 @@ var CBITypedSection = CBIAbstractSection.extend(/** @lends LuCI.form.TypedSectio return this.handleAdd(ev, nameEl.value); }), - 'disabled': true + 'disabled': this.map.readonly || true }, [ btn_title || _('Add') ]) ]); - ui.addValidator(nameEl, 'uciname', true, function(v) { - var button = document.querySelector('.cbi-section-create > .cbi-button-add'); - if (v !== '') { - button.disabled = false; - return true; - } - else { - button.disabled = true; - return _('Expecting: %s').format(_('non-empty value')); - } - }, 'blur', 'keyup'); + if (this.map.readonly !== true) { + ui.addValidator(nameEl, 'uciname', true, function(v) { + var button = document.querySelector('.cbi-section-create > .cbi-button-add'); + if (v !== '') { + button.disabled = null; + return true; + } + else { + button.disabled = true; + return _('Expecting: %s').format(_('non-empty value')); + } + }, 'blur', 'keyup'); + } } return createEl; |