diff options
author | bptato <nincsnevem662@gmail.com> | 2025-01-05 13:49:29 +0100 |
---|---|---|
committer | bptato <nincsnevem662@gmail.com> | 2025-01-05 13:49:29 +0100 |
commit | 281f560f4423a44eafb035ea058597f79d9a400a (patch) | |
tree | bec2544e9950b0720be2797c5df1a295f2ccead8 /src | |
parent | 72ddcbde2c18139dd45a874886d5b0b820cc41ae (diff) | |
download | chawan-281f560f4423a44eafb035ea058597f79d9a400a.tar.gz |
dom: button fixes
Diffstat (limited to 'src')
-rw-r--r-- | src/html/dom.nim | 8 | ||||
-rw-r--r-- | src/html/formdata.nim | 2 |
2 files changed, 6 insertions, 4 deletions
diff --git a/src/html/dom.nim b/src/html/dom.nim index 2d9fb09f..985a8b8c 100644 --- a/src/html/dom.nim +++ b/src/html/dom.nim @@ -362,8 +362,7 @@ type relList {.jsget.}: DOMTokenList HTMLButtonElement* = ref object of FormAssociatedElement - ctype*: ButtonType - value* {.jsget, jsset.}: string + ctype* {.jsget: "type".}: ButtonType HTMLTextAreaElement* = ref object of FormAssociatedElement value* {.jsget.}: string @@ -1036,6 +1035,7 @@ const ReflectTable0 = [ # non-global attributes makes("target", TAG_A, TAG_AREA, TAG_LABEL, TAG_LINK), makes("href", TAG_LINK), + makes("value", TAG_BUTTON), makeb("required", TAG_INPUT, TAG_SELECT, TAG_TEXTAREA), makes("name", TAG_INPUT, TAG_SELECT, TAG_TEXTAREA), makeb("novalidate", "noValidate", TAG_FORM), @@ -3139,6 +3139,9 @@ proc setValue(option: HTMLOptionElement; s: string) {.jsfset: "value".} = func jsForm(this: HTMLButtonElement): HTMLFormElement {.jsfget: "form".} = return this.form +proc setType(this: HTMLButtonElement; s: string) {.jsfset: "type".} = + this.attr(satType, s) + # <textarea> func jsForm(this: HTMLTextAreaElement): HTMLFormElement {.jsfget: "form".} = return this.form @@ -4068,7 +4071,6 @@ proc reflectAttr(element: Element; name: CAtom; value: Option[string]) = option.reflect_bool satSelected, selected of TAG_BUTTON: let button = HTMLButtonElement(element) - button.reflect_str satValue, value if name == satType: button.ctype = parseEnumNoCase[ButtonType](value.get("")).get(btSubmit) of TAG_LINK: diff --git a/src/html/formdata.nim b/src/html/formdata.nim index 4d50d5c5..909aa54d 100644 --- a/src/html/formdata.nim +++ b/src/html/formdata.nim @@ -163,7 +163,7 @@ proc constructEntryList*(form: HTMLFormElement; submitter: Element = nil; else: entrylist.add((name, field.value)) elif field of HTMLButtonElement: - entrylist.add((name, HTMLButtonElement(field).value)) + entrylist.add((name, HTMLButtonElement(field).attr(satValue))) elif field of HTMLTextAreaElement: entrylist.add((name, HTMLTextAreaElement(field).value)) else: |