Fix form macro

This commit is contained in:
Marcus Kammer 2024-04-19 20:55:50 +02:00
parent f0ce1de929
commit e3dcb4caad
Signed by: marcuskammer
GPG key ID: C374817BE285268F

View file

@ -65,8 +65,10 @@
;;; form
(defmacro form ((&optional (attr nil)) &body body)
"Generates HTML form elements using Spinneret library.
(defmacro form (legend &optional attr &body body)
"Generates HTML form element.
LEGEND: Add text for <legend>. A short description for forms.
ATTR: A list of form attributes like :action, :name and :method. If not provided,
defaults to an empty action, \"html-form\" as name and \"post\" as method.
@ -74,10 +76,11 @@ defaults to an empty action, \"html-form\" as name and \"post\" as method.
BODY: The body of the form, which generally includes form elements such as input
fields, checkboxes, radio buttons, etc."
`(spinneret:with-html
(:form ,@(if (listp attr)
(:form ,@(if (not (null attr))
attr
(list :action "" :name "html-form" :method "post"))
(:fieldset ,@body))))
(:fieldset (:legend ,legend)
,@body))))
;;; checkable