在我的Racket Web服务器/ insta应用程序中,我有一些重复的<div>
HTML,我想将它们分解成一个单独的函数,然后用参数调用它,以在更大的HTML xexpr中生成div HTML。执行此操作时,在网页上获得的所有内容都是两个参数字符串。如何将<div>
代码分解出来?
我尝试仅通过引用的表达式调用函数。
我还尝试在div函数中带引号的<div>
代码前添加一个response / xexpr,但没有成功。
;;我想将这段代码中的<div>
分解为一个单独的函数。
(define (start request)
(response/xexpr
'(html (head (title "Testing")
(body (form
(div ((class "form-group"))
(label ((for "public-id")) "Public Id")
(input ((type "text")
(name "public-id")
(id "public-id")
(placeholder "Enter public id"))))
;;我尝试使用此功能进行此操作,无论是否带有“ response / xexpr”代码。
(define (input-field-html fld-name-id fld-caption)
(response/xexpr
'(div ((class "form-group"))
(label ((for fld-name-id)) "Public Id")
(input ((type "text")
(name fld-name-id)
(placeholder fld-caption))))))
答案 0 :(得分:3)
#lang web-server/insta
(define (start request)
(response/xexpr
`(html (head (title "Testing")
(body (form
,(input-field-html "public-id" "Enter public id")))))))
(define (input-field-html fld-name-id fld-caption)
`(div ((class "form-group"))
(label ((for ,fld-name-id)) "Public Id")
(input ((type "text")
(name ,fld-name-id)
(placeholder ,fld-caption)))))
请参阅: