luci-base: fix button handling for named sections
authorFlorian Eckert <fe@dev.tdt.de>
Mon, 12 Dec 2022 13:58:38 +0000 (14:58 +0100)
committerFlorian Eckert <fe@dev.tdt.de>
Tue, 13 Dec 2022 12:38:40 +0000 (13:38 +0100)
If more than one named section is added to the page, it is currently the
case, that the first button is always switched on or off during input
validation of the uci section name. This is because the usage of the
'document.querySelector' function is to imprecise. Changing the search
start to the element to be created, fixes this.

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
(cherry picked from commit 440a2e79a762b4152ccb7e41c90a2826d9fb3538)

modules/luci-base/htdocs/luci-static/resources/form.js

index b0deea8e8fb6631cc3f31f4c0f213d872bd24591..2d9fbfa79fe059653ae9af96df7f5742a532f3cc 100644 (file)
@@ -2219,7 +2219,7 @@ var CBITypedSection = CBIAbstractSection.extend(/** @lends LuCI.form.TypedSectio
 
                        if (this.map.readonly !== true) {
                                ui.addValidator(nameEl, 'uciname', true, function(v) {
-                                       var button = document.querySelector('.cbi-section-create > .cbi-button-add');
+                                       var button = createEl.querySelector('.cbi-section-create > .cbi-button-add');
                                        if (v !== '') {
                                                button.disabled = null;
                                                return true;