diff --git a/scheme/httpd/surflets/surflet-input-fields.scm b/scheme/httpd/surflets/surflet-input-fields.scm index 6067560..65b507e 100644 --- a/scheme/httpd/surflets/surflet-input-fields.scm +++ b/scheme/httpd/surflets/surflet-input-fields.scm @@ -108,14 +108,22 @@ (let ((name (generate-input-field-name "textarea"))) (optionals maybe-further-attributes ((default-text simple-default?) + (rows number?) + (cols number?) + (readonly symbol?) (attributes sxml-attribute?)) - (make-input-field - name "textarea" - identity - (make-input-field-attributes - (and default-text) - (sxml-attribute-attributes attributes)) - make-textarea-input-field-html-tree)))) + (let ((extra-attributes '())) + (if rows (set! extra-attributes (cons `(rows ,rows) extra-attributes))) + (if cols (set! extra-attributes (cons `(cols ,cols) extra-attributes))) + (if (eq? readonly 'readonly) + (set! extra-attributes (cons '(readonly) extra-attributes))) + (make-input-field + name "textarea" + identity + (make-input-field-attributes + (and default-text) + (cons extra-attributes (sxml-attribute-attributes attributes))) + make-textarea-input-field-html-tree))))) (define (make-textarea-input-field-html-tree input-field) (let ((attributes (input-field-attributes input-field)))