diff options
| author | unwox <me@unwox.com> | 2025-10-30 19:01:32 +0600 |
|---|---|---|
| committer | unwox <me@unwox.com> | 2025-10-30 20:36:58 +0600 |
| commit | 4151e7a73ef0476b4aea5a356d391a7060b8a01c (patch) | |
| tree | a576a0017fa5fa0c368d39c270a1df99b79b6014 /forms.fnl | |
| parent | b06fdc9c3b4b6dc0d5d60098303dd57d5c098e13 (diff) | |
small improvements here and there
Diffstat (limited to 'forms.fnl')
| -rw-r--r-- | forms.fnl | 11 |
1 files changed, 5 insertions, 6 deletions
@@ -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} |
