diff options
Diffstat (limited to 'libs/cbi/luasrc')
-rw-r--r-- | libs/cbi/luasrc/cbi.lua | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/libs/cbi/luasrc/cbi.lua b/libs/cbi/luasrc/cbi.lua index 2c8cb53e45..7c20129be8 100644 --- a/libs/cbi/luasrc/cbi.lua +++ b/libs/cbi/luasrc/cbi.lua @@ -614,11 +614,12 @@ function Delegator.parse(self, ...) if not Map.formvalue(self, "cbi.submit") then return FORM_NODATA - elseif not newcurrent or not self:get(newcurrent) then + elseif stat > FORM_PROCEED + and (not newcurrent or not self:get(newcurrent)) then self:_run_hooks("on_done") return FORM_DONE else - self.current = newcurrent + self.current = newcurrent or self.current self.active = self:get(self.current) if type(self.active) ~= "function" then self.active:parse(false) |