summaryrefslogtreecommitdiff
path: root/forms.fnl
diff options
context:
space:
mode:
authorunwox <me@unwox.com>2025-10-30 19:01:32 +0600
committerunwox <me@unwox.com>2025-10-30 20:36:58 +0600
commit4151e7a73ef0476b4aea5a356d391a7060b8a01c (patch)
treea576a0017fa5fa0c368d39c270a1df99b79b6014 /forms.fnl
parentb06fdc9c3b4b6dc0d5d60098303dd57d5c098e13 (diff)
small improvements here and there
Diffstat (limited to 'forms.fnl')
-rw-r--r--forms.fnl11
1 files changed, 5 insertions, 6 deletions
diff --git a/forms.fnl b/forms.fnl
index c75daec..50c0efa 100644
--- a/forms.fnl
+++ b/forms.fnl
@@ -235,7 +235,8 @@
(fn render-form [form data errors]
(HTML
- [:form {:class "form" :enctype "multipart/form-data" :method "POST"}
+ [:form {:class "form" :enctype "multipart/form-data" :method "POST"
+ :onsubmit "this.querySelector('button').disabled = true"}
(table.concat
(lib.append
(icollect [_ group (ipairs form)]
@@ -245,9 +246,7 @@
(table.concat
(icollect [_ field (ipairs group.fields)]
(field.html (. data field.name) (. errors field.name))))]))
- (HTML [:button {:type "submit"
- :onclick "this.disabled = true; this.form.submit();"}
- "Сохранить"])))]))
+ (HTML [:button {:type "submit"} "Сохранить"])))]))
(fn html-form->data [form data db]
(each [_ group (ipairs form)]
@@ -257,7 +256,7 @@
(tset data field.name (field.value-from-html value {: data : db})))))
data)
-(fn validate-form [form data]
+(fn validate [form data]
(var errors [])
(each [_ group (ipairs form)]
(each [_ field (ipairs group.fields)]
@@ -339,6 +338,6 @@
: select-input
: render-form
: html-form->data
- : validate-form
+ : validate
: form-insert-sql-statement
: form-update-sql-statement}