about summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--src/html/dom.nim10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/html/dom.nim b/src/html/dom.nim
index 820e63f9..e203dda1 100644
--- a/src/html/dom.nim
+++ b/src/html/dom.nim
@@ -2387,10 +2387,12 @@ proc setForm*(element: FormAssociatedElement, form: HTMLFormElement) =
 
 proc resetFormOwner(element: FormAssociatedElement) =
   element.parserInserted = false
-  if element.form != nil and
-      element.tagType notin ListedElements or not element.attrb("form") and
-      element.findAncestor({TAG_FORM}) == element.form:
-    return
+  if element.form != nil:
+    if element.tagType notin ListedElements:
+      return
+    let lastForm = element.findAncestor({TAG_FORM}) 
+    if not element.attrb("form") and lastForm == element.form:
+      return
   element.form = nil
   if element.tagType in ListedElements and element.attrb("form") and element.isConnected:
     let form = element.attr("form")