FormFunction

字段类型列表 »

FormFunction[formspec,func]

表示一个激活表单,当它被提交时,对根据 formspec 指定的表单所获得的值应用 func.

FormFunction[{"name1"type1,},func]

表示一个激活表单,其中名为 namei 的字段被解释为类型 typei.

FormFunction[{{"name1",label1}type1,},func]

使用 labeli 作为名为 namei 的字段的标签.

FormFunction[{namespec1type1default1,},func]

使用 defaulti 作为由 namespeci 指定的字段的缺省值.

FormFunction[formspec,func,fmt]

指定在云端应用 func 得到的结果应该以格式 fmt 返回.

FormFunction[{formspec1,formspec2,},func,]

表示多页面表单,其中连续的 formspeci 可以是应用于目前得到的数值的函数.

更多信息和选项

  • FormFunction[formspec,func] 显示由 formspec 指定的表单,以及一个提交按钮.
  • FormFunction[formspec,func] 中,formspec 可以是 FormObject[].
  • FormFunction[formspec,func] 求值以给出 FormFunction[FormObject[],func],其中 FormObject 包含表单中所有字段的完整规范.
  • CloudDeploy[FormFunction[]] 生成一个包含表单激活版本的云对象.
  • FormFunction[formspec,func][] 首先运算 Setting[formspec],给出表单中字段值的关联. 如果未生成验证错误,则对关联应用 func,并返回结果.
  • 在评价 FormFunction 的效果之前,FormFunction[formspec,func][<|"namek"->inputk,|>] 会将给定的输入插入到由 FormFunction 指定的表单.
  • FormFunction[][] 计算为激活表单,在假定给定输入有效的情况下,表单被提交时应用 func 的结果替代.
  • 每个字段的 typei 可以是以下任意一种:
  • "form"Interpreter 支持的任意表单
    Restricted[], etc.Interpreter 支持的任意受条件限制的表单等
    Interpreter[]任意 Interpreter 对象
    assocFormObject 中使用的关联
    tfun应用于字符串的任意函数
  • 在由 FormFunction[{formspec1,formspec2,},] 表示的多页面表格中,显示由 formspeci 指定的连续多个表格,其中默认情况下最后的表格具有完成按钮,而前面的表格具有下一个按钮.
  • FormFunction[{formspec1,formspec2,},] 中,formspec1 后的 formspeci 通常总是纯函数. 它们通过给出从所有前面的 formspeci 得到的所有输入的数值应用于一个关联.
  • FormFunction 的总体选项包括:
  • AppearanceRules Automatic给出总体外观规则的关联
    FormLayoutFunction Automatic生成表单布局的函数
    FormProtectionMethodAutomatic防护恶意内容的方法
    ImageFormattingWidth$ImageFormattingWidth输出格式的封装宽度
    ImageSizeAutomatic输出的整体图像尺寸
    PageTheme Automatic已部署网页的整体主题
  • 当在云端被调用时,FormFunction[formspec,func] 默认返回适合网页输出格式的结果.
  • FormFunction[formspec,func,fmt] 中的可能结果规范 fmt 有:
  • Automatic作为尽可能合适的 HTML 或 CloudCDFElement 导出
    "HTML"作为没有动态内容的原始静态 HTML 页面导出
    "HTMLThemed"使用和表单相同的主题作为静态 HTML 导出
    "HTMLPaneled"作为面板中的 HTML 内容导出
    "GIF","JPEG","PNG",结果的图像
    "String"结果的原始字符串形式
    "fmt"ExportForm 支持的任意格式
    None不加改变的传递字符串或字节列表
    {None,"type"}通过所定义的指定 HTTP 响应类型传递
    {fmt,opts}具有选项的格式规范
    f将被应用于 body 的任意函数
  • 当在云端被调用时,FormFunction[formspec,func,"fmt"] 等价于 FormFunction[formspec,ExportForm[func[#],"fmt"]&].
  • 当在笔记本界面直接调用时,在 FormFunction[formspec,func,fmt] 中的结果规范 fmt 将被忽略.

范例

打开所有单元关闭所有单元

基本范例  (2)

设置表单函数:

把它激活,然后填写输入:

将表单函数部署到云端:

通过程序填充表单:

部分提交的表单不会被激活:

创建动态表单:

范围  (25)

解释器规范  (6)

使用丰富的 Interpreter 规范:

Interpreter 头部是可选的,但是对指定 Interpreter 选项或者其他参数很有用:

可以使用列表创建菜单:

可以将实体列表用作菜单:

选项可以是任意表达式:

规则列表允许做标签规范:

默认值  (3)

指定信息栏的默认值;不需要具有默认值的信息栏:

信息栏没有默认值是可选的:

使用 RuleDelayed 每次计算一个新的默认值:

输入  (2)

创建具有输入的表单:

可以延迟输入:

标签  (1)

改变信息栏的标签:

可以使用 RuleDelayed 并且返回任意表达式:

使用 None 删除标签:

外观  (4)

把默认标签改变为与键值不同的内容:

标签可以是任意表达式:

改变单个信息栏的外观:

使用 RuleDelayed 计算在云端的表达式:

使用非规则元素改变默认外观:

控制  (7)

不同类型具有不同控件. "Color" 的颜色选择器:

或者文件格式的文件选择器:

"Boolean" 的可选框:

改变默认控件:

多重选项支持各种类型的控件:

单选按钮的标签可以是你想要的任何内容:

控件规范也接受纯函数:

动态表单  (1)

包含 TemplateSlot 的表单的部分不被计算,直到 TemplateSlot[key] 中提到的键被绑定到合适的值:

多页面表单  (1)

FormFunction 支持跨越了几个页面的表单. 信息栏取决于前面页面中的值:

选项  (6)

AppearanceRules  (1)

编写自定义标题和描述:

使用图像作为品牌:

使用 "ItemLayout" 改变表单域的外观:

改变提交标签:

FormLayoutFunction  (1)

可以指定一个纯函数,对表格给出特定布局:

PageTheme  (4)

部署一个具有白色主题的表单:

部署一个具有蓝色主题的表单:

部署一个具有黑色主题的表单:

部署一个具有红色主题的表单:

应用  (2)

绘制两个机场之间的飞行路径:

获取城市的地理数据:

属性和关系  (8)

FormFunction 被设计成可以与 APIFunction 交换:

反之亦然:

FormFunction 的第一个参数可以以完整的 FormObject 给出:

计算 FormFunction,使得第一个变量变成完整的 FormObject

FormFunction 的单个域使用 Interpreter 转换 Wolfram 语言表达式中的输入:

这实际上与下面相同:

与直接应用 Interpreter 相同:

AnySubset 可用于产生一个控件,其中可以挑选多于一个的选项:

RepeatingElement 可用于创建可添加或者删除的信息栏群组:

CompoundElement 可用于创建信息栏的可扩展表格:

可能存在的问题  (1)

Interpreter["String"] 接受空白字符串. 但是,FormFunction 不接受空白字符串,其中,空白字符串和空白字段被同等对待:

巧妙范例  (3)

创建重定向到某 URL 的搜索引擎:

制作简单的网页应用程序将过滤器应用于图像:

输出音频:

打开表单页面,输入消息,点击 "Submit" 按钮:

点击播放按钮,听到刚刚输入的消息:

Wolfram Research (2014),FormFunction,Wolfram 语言函数,https://reference.wolfram.com/language/ref/FormFunction.html (更新于 2015 年).

文本

Wolfram Research (2014),FormFunction,Wolfram 语言函数,https://reference.wolfram.com/language/ref/FormFunction.html (更新于 2015 年).

CMS

Wolfram 语言. 2014. "FormFunction." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2015. https://reference.wolfram.com/language/ref/FormFunction.html.

APA

Wolfram 语言. (2014). FormFunction. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/FormFunction.html 年

BibTeX

@misc{reference.wolfram_2024_formfunction, author="Wolfram Research", title="{FormFunction}", year="2015", howpublished="\url{https://reference.wolfram.com/language/ref/FormFunction.html}", note=[Accessed: 22-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_formfunction, organization={Wolfram Research}, title={FormFunction}, year={2015}, url={https://reference.wolfram.com/language/ref/FormFunction.html}, note=[Accessed: 22-November-2024 ]}