创建高级网页表单
虽然
FormFunction 和
FormObject 提供一个简洁的界面便于创建简单的网页表单,该教程将讲述创建更高级网页表单的方法和选项.
FormFunction 和
FormObject 接受选项
AppearanceRules,它可用于指定表单的各部分,例如标题以及每个字段显示的形式.
标题和描述
你可以使用带有
"Title" 和
"Description" 的
AppearanceRules 在你的表单中添加标题和子标题.
SubmitLabel 和 NextLabel
你可以使用
"SubmitLabel" 改变在表单底部按钮上的文本显示.
同样,
"NextLabel" 可用于自定义所有字段的文本,除了多页表单中的最后一个字段.
非文本值
AppearanceRules 中的大部分字段不需要字符串.
RequiredFieldIndicator
"RequiredFieldIndicator" 应用一个函数于需求字段的标签.
ItemLayout
"ItemLayout" 可用于决定在网格中元素显示的形式. 空白行和列被自动删除. 项目布局是响应式的,这意味着布局可适应浏览器窗口的宽度. 具体而言,项目布局在移动Web浏览器中可能看起来有所不同.
默认的
"Horizontal" 对应于一个 2
×2 网格.
"Vertical" 对应于所有布局在同一列的元素.
表单可以跨越多页;第一个参数的附加列表指明多页表单.
除首页外所有页面可以被指定为纯函数,这样做会有依赖旧页面的新页面.
注意,不同页面的字段可以有同样的键. 如果发生的话,最新的值会替代旧的值.
当其中一个字段依赖另一个且都出现在同样页面时,定义一个表单会有用. 这可以通过使用带有诸如
TemplateSlot 符号的 Wolfram 语言模板语言实现.
依赖于其他字段的字段会自动隐藏直到有足够的信息可以显示,其中有其他字段依赖它的字段会在有填入时自动提交.
可以通过
AutoSubmitting 封装强迫当字段被填入时,自动提交整个表单.
注意,当在输入第一个后选择第二个字段,提交整个表单会导致错误信息出现在第二个字段下.
RepeatingElement 和 CompoundElement
有时在表单中有可变数目的字段会有用. 使用
RepeatingElement 重复一个字段.
使用
RepeatingElement 的第二个参数,可以使子字段依赖其索引.
AppearanceRules 选项
"AddLabel" 和
"DeleteLabel" 可用于在
RepeatingElement 中自定义按钮的标签.