扩展:页面表单/输入类型

来自MyaWiki.Org
跳转到导航 跳到搜索

本页涵盖页表单中可用的各种输入类型,以及可为它们设置的参数和其他自定义。

输入类型[编辑]

文本[编辑]

默认输入类型;对应于HTML“文本”输入。

特殊参数:

  • 尺寸=大小-指定输入的宽度,以字符为单位。
  • 最大长度=最大长度-指定输入的最大允许长度。
  • 占位符=占位符文本-指定在用户单击之前输入的帮助文本。

特克斯塔利亚[编辑]

对应于HTML> TeTaRea>标签。

页面表单支持维基编辑器扩展(与…有关)标题标签扩展

特殊参数:

  • 行=数行-指定行数。
  • 科尔=努姆科尔斯-指定列的数目。
  • 最大长度=最大长度-指定输入的最大允许长度。
  • 自动售货机-将TeTaTra设置为“自动增长”,以匹配其内容的高度,从而不需要滚动条。
  • 编辑器=编辑器类型-将基于JavaScript的编辑器添加到TeXTaReA,以使其内容更易于用户编辑。这个参数有三个可能的值:“WiKiGeDelver”,用于维基编辑器扩展名为“TyMyCE”,用于蒂梅斯扩展,和“VisualEdgress”,用于可视化编辑器扩展在所有这些情况下,必须安装Relvand外部扩展以使该值工作。附加说明:
    • 不幸的是,表单中只有一个输入可以与WiKi编辑器相关,这是因为WiKiEdgress扩展的限制。如果你想添加任何额外的自定义工具栏对于WiKiGrice,您需要在JavaScript中添加它们。(‘自由文本’)WiKi编辑器就像它们存在一样('*WpTrimBoxx1).
    • 对于“VisualEdgress”,除了可视化编辑器延伸,韦福尔还必须安装扩展名。
  • 占位符=占位符文本-指定在用户单击之前输入的帮助文本。

自动完成的文本,自动完成的文本[编辑]

这两个输入以相同的方式显示。文本特克斯塔利亚输入类型,它们可以以相同的方式配置,但它们也提供一个或多个值的自动完成。见“设值与映射“和”自动完成下面是如何自定义自动完成的部分。

下拉列表框[编辑]

组合框输入

“组合框”输入类型提供了组合框接口:一个输入,它像一个普通的自动完成字段,但是有一个额外的向下箭头图标,像下拉菜单一样,让用户同时看到所有可用的值。它是用选择2JavaScript库。

特殊参数:

  • 尺寸=大小-指定输入的宽度,以字符为单位。
  • 仅存在的值-禁止字段中的任意值。
  • 占位符=占位符文本-指定在用户单击之前输入的帮助文本。
  • 命名空间=命名空间-将指定的命名空间预加到所选的值。

令牌[编辑]

令牌输入

这个输入类型“标记”字段中的值,即在每个值周围放置一个块,使其成为单个单元而不是字符串。这些“令牌”也可以重新排列。像“组合框”一样,这个输入是使用选择2JavaScript库。

特殊参数:

  • 尺寸=大小-指定输入的宽度,以字符为单位。
  • 最大值=最大值-指定允许值的最大数目。
  • 仅存在的值-禁止字段中的任意值。
  • 占位符=占位符文本-指定在用户单击之前输入的帮助文本。
  • 命名空间=命名空间-将指定的命名空间预置到每个选定的值。


默认情况下,“令牌”显示为单行输入,然后在必要时垂直扩展,以增加更多的值。在某些情况下,当输入开始时,您可能希望该输入看起来比一行高,以使用户更清楚地知道它会扩展。若要对单个输入进行此操作,请添加字段标签的参数,如“类=类名然后,向MeaWiKi添加如下内容:Common.css:

.类名 .类名 .选择两种选择 {
        最小高度六十二甲苯
}

如果你想把它应用到维基中的所有“令牌”输入,那么就添加到MeaWiki:Cuff.CSS中:

γPFFRADE .选择容器2 .选择两种选择 {
        最小高度 六十二甲苯
}

单选框[编辑]

“RadioButt”输入对应于HTML“无线电”输入。它显示了一组用户只能选择一组的值。

默认情况下,第一个ReloButt值为“无”,这允许用户选择一个空白值。为了防止“无”出现,必须使字段“强制”,并使字段的“默认=”值中允许的值之一。

下拉[编辑]

“下拉”输入对应于HTML >选择>标签。它显示了一个值的下拉列表,用户只能从其中选择一个。

复选框[编辑]

“复选框”输入显示复选框以允许用户选择任意数量的值。

如果有超过一定数量的复选框,“选择所有”和“选择无”链接将自动出现在复选框的集合之上,允许用户自动检查全部或全部。这个数字是由变量决定的。$WGPAGE格式默认为10,虽然它可以在LocalSettings.php中更改。

特殊参数:

  • 隐藏选择全部-隐藏该输入的“选择所有”和“选择无”链接,而不考虑值的个数。
  • 显示全部选择-显示该输入的“选择所有”和“选择无”链接,而不考虑值的个数。

列表框[编辑]

“ListBox”输入对应于HTML“SELECT>标签”,添加了“多”属性。它显示了一个垂直选项列表,用户可以选择任意数量的值。

特殊参数:

  • 尺寸=大小-指定列表框的高度。

[编辑]

“树”输入类型允许分层的树型输入,其中所有的值都有它们旁边的按钮或复选框,这取决于字段是否可以保存一个或多个项目。值可以来自Wiki中的类别树,也可以在表单定义中手动设置。

这个输入如何知道它是否可以保存一个或多个值,因此应该显示“放射按钮”和“复选框”?它检查模板中的字段是否被定义为持有一个值列表(使用γARAYMAP)。不过,这张支票并不完美。如果树输入显示的是“ReloDoupe”,而不是复选框,则只需在“窗体定义”中的“字段”标签中加上“参数列表”,就可以确定这是一个列表。

根据这些值的来源,您需要指定这两个附加参数中的一个:

  • 顶级类别=-在“树”的顶部设置类别的名称。
  • 结构=-设置整个树结构;应该使用WiKiTeXT样式的子弹来设置深度级别。

如果使用“结构”参数,它应该看起来像这样:

{{{场〉位置〉输入类型=树结构= *宇宙**银河系* ** *太阳系**仙女座星系等…}}

您还可以选择设置这些参数:

  • 身高=-设置树出现的框的高度,以像素为单位。
  • 宽度=-设置树出现的框的宽度,以像素为单位。
  • 定界符=-当字段可以保存值列表时,设置分隔符。默认值是“。”
  • 希多罗特-隐藏顶级类别的名称。
  • 深度=-设置在开始时显示的三个级别的数量。默认值为10。

可以看到使用此输入类型的示例表单。在这里.

类别名称[编辑]

如果使用“树”输入类型来显示类别树,请注意,该输入只打印出所选类别的名称,而没有“类别”名称空间;因此,如果您希望在页面中显示该模板,则模板必须添加该名称。

如果字段指定了多个类别,并且模板使用γ-ARARYMAP来执行,那么调用“γARAYMAP”应该是类似的:

{{} ARAYMAP:{{{类别}}}},x[[[类别:x] ] < < Noiki>  }

换言之,您需要为Y.ARARYMAP指定最后的“定界符”参数,并使其成为空白或类似的空间,以避免在类别标签之间打印逗号。

复选框[编辑]

一个单一的复选框,用于布尔值。

日期[编辑]

该输入包含三个单独的条目,用于年、月和日。

日期时间[编辑]

“DATETIME”输入类似于“DATE”输入,但包含额外的条目,包括小时、分钟、秒和AM/PM。

特殊参数:

  • 包括时区-指定还应包括时区条目。

[编辑]

“年份”是一个简单的文本输入,用于获取日期字段的一年唯一值。

数据记录器[编辑]

日历打开的数据戳输入

“DeDePikEver”允许用户在JavaScript的弹出式日历的帮助下选择日期。这个输入有许多可选参数;在这里完整列表。

数据选择器[编辑]

“DATETMEXPACER”是一种基于JavaScript的输入类型,非常类似于“DeaPePikER”,但它包含弹出窗口来选择日期和时间。它的一组参数与“DeDePikER”相同。

评级[编辑]

“评级”输入类型显示一组星星,让用户输入评级。

特殊参数:

  • 星宽-指定每个恒星的宽度(和高度)。默认值是24px。
  • 努姆星-指定要显示的星星的数目。默认值为5。
  • 允许半星-允许用户选择半星。默认为false;设置为“是”(或任何其他值)以使其为真。

GoogLaMPS,传单,OpenLoad[编辑]

“GoogLaMax”、“小叶”和“OpenLead”输入类型让您分别使用谷歌地图、单张或OpenLead服务显示地图以获得坐标值。

如果您使用的是“GoogLMaPS”输入,您可能需要获得谷歌地图API密钥,然后将其设置在LoopalStutsP.PHP中$WGPAGE格式GoGoMeLAMPASKEY设置,用于输入显示。

还可以为这些输入类型设置这些参数:

  • 身高=-设置地图的高度,以像素为单位。
  • 宽度=-设置地图的宽度,以像素为单位。
  • 起始界限-采用一对坐标来设置所显示的映射的边界;如果输入没有值,则此参数仅适用。这个参数的示例值:“-20,-15;50,55”。

“GoogLMaPS”输入可以让你输入一个地址来更容易地找到坐标。但是如果表单已经包含了一个或多个输入地址的字段,那么用户可能必须输入两次-一次实际存储数据,第二次定位坐标。为了避免用户不得不做这种双重工作,当定位点时,可以让地址字段直接将它们的值提供给映射。您可以使用“feed到map =”参数查找“feed映射”。在这里.

默认情况下,所有这些格式都依赖于外部JavaScript代码。但是,你可以让“OpenLead”格式使用本地JavaScript代码,而只需安装开放层扩展

停用[编辑]

请注意,这些输入类型都将Wiki的数据(即,查询结果中包含的数据)发送给外部服务。它们是页面表单代码中唯一的一部分,可以在外部发送数据,而不是外部值自动完成,虽然需要一个额外的配置来运行。如果你有一个私人维基,并且非常担心没有数据出来,你可能想把下面的内容添加到LocalSettings.php:

$WGPAGMODES = 

这将禁止使用页面表单来使用任何外部服务,这在目前意味着禁用这三种输入类型。

正则表达式[编辑]

“ReXEP”输入类型不是真正的输入类型,而是具有附加的、基于正则表达式的验证来显示另一个输入(最常见的“文本”)的能力。在这里对于这个输入类型及其参数的更详细的解释。

数据类型的允许输入类型[编辑]

每个定义的数据类型,当使用货或语义媒体WiKi时,都有默认的输入类型,并且在适用时也有默认的输入大小。另外,如果字段持有分隔的值列表而不是单个值,则某些数据类型具有特殊的处理。

以下是每个数据类型的默认值和其他允许输入类型,用于单个值:

货物数据类型 SMW数据类型 缺省输入类型 默认大小 其他允许输入类型
网页 网页 自动完成文本 三十五 文本,组合框,下拉,文本,文本自动完成,树
字符串 字符串(弃用) 文本 三十五 具有自动完成、组合框、文本、文本和自动完成的文本
文本 文本代码 特克斯塔利亚 5×30 文本
统一资源定位地址 统一资源定位地址 文本 一百 特克斯塔利亚
整数,浮点 文本 特克斯塔利亚
日期、开始日期、结束日期 日期 日期 日期时间,年份,数据表
日期时间,开始日期时间,结束日期时间 N / A 日期时间 日期数据采集器,日期,年
布尔 布尔 复选框 下拉按钮
协调 地理坐标 开放层 GoogLAMPS,传单
评级 N / A 评级
枚举(具有允许值列表的任何货物字段) 枚举(任何具有定义的“允许值”的SMW属性) 下拉 单选框
层次结构(任何具有允许值的层次集合的货物字段) N / A

这里是默认的和其他允许的输入类型分隔列表某一数据类型:

货物数据类型 SMW日期类型 缺省输入类型 默认大小 其他允许输入类型
网页 网页 令牌 一百 文本,文本,自动完成的文本,自动完成的文本,树,复选框
字符串 文本 文本 一百 自动完成的文本文本,自动完成的文本
枚举 枚举 复选框 列表框
等级制度 N / A

设置值和映射[编辑]

可以为表单中的某些字段设置预先确定的值。这也重写了在使用SMW或货物时在窗体外定义的值。

以下参数可用于“字段”标签:

直接价值
  • 值=可能值-指定一组可能的值或自动完成值(取决于输入类型),该字段可以具有,可以覆盖从语义媒体或货物中设置的任何一组值。默认情况下,这组值由逗号分隔,但分隔符可以使用定界符=参数。
间接价值
  • 来自属性的值=属性名-从某个SMW属性指向的所有值的集合中获取其值。
注意,此参数没有货物当量;在货物的情况下,使用指定货物表/字段的所有值的集合。货物表货场提供了参数。
  • 类别=值类别名称-从属于特定类别的所有页面的名称获取其值。
  • 命名空间的值=命名空间名称-从属于特定命名空间的所有页面的名称获取其值。
(从主命名空间中获取值,使用“Maple”,或者只是将其留空。)
  • 来自概念的值=概念名称-从属于特定SMW的所有页面的名称获取其值概念.

基于自动完成的输入还有几个选项;参见自动完成“在下面。

映射[编辑]

您可以将显示给用户的值集与在页面的WiKiTeXT中实际显示的值集不同。如果这些值是页面名称,并且这些页面有一个“显示标题”集合,它们不同于它们的实际页面名称,那么默认情况下,窗体将显示显示标题而不是页面名称。如果需要,可以通过向LocalSettings.php添加以下内容来显示页面名称:

$WGPAGE表单显示标题 = 

可以使用以下参数启用其他此类映射:

  • 映射模板=模板名称-取一个“映射模板”的名称(一个模板,它包含一个单一的、未命名的参数,即{{{ 1 }}},并显示一个“映射”字符串作为结果),并使用该模板来映射每个潜在值,以便值“别名”出现在屏幕上,而不是值本身。
  • 映射属性属性名-用于选择具有“组合框”、“令牌”、“列表框”和“下拉”输入类型的页的字段。对于每个可能的值,从该页面显示SMW属性而不是页面的标题,但将所选页面的标题保存为字段值。结合使用价值观…参数以获取可能的值列表。
  • 测绘货物表表名/测绘货物场=字段名-类似于映射属性除了用于货场。结合使用值=命名空间的值=类别=值货物表/货场.

例如,表单可以包含这样的字段标签:

{{{Field}状态}值=前瞻性、实况、退休映射模板= StaseLabel}}

模板中的模板:StaseLabVIEW可以包含如下内容:

{{*开关:{{{ 1 }}}}退休=退休后的标签= Live =生存标签(前景)=预期的标签}

然后,可以使用同一个“映射模板”在常规的、非形式的页面上显示值的标签。在包含字段“状态”的模板中,可以有以下内容:

{{StaseLabel{{{{状态}}}}}

自动完成[编辑]

输入类型的四(令牌下拉列表框自动完成文本自动完成文本使用自动完成当用户开始键入时,输入显示了可能完成的下拉列表。

如果字段表示类型为“语义媒体”属性或“类型”的货物字段网页“默认情况下将启用自动完成-该字段将自动完成由该属性或字段指向的所有页的名称。对于任何其他类型,没有默认的自动完成,但您可以通过将输入类型设置为具有自动完成的四种类型中的一种来实现同样的效果。

您可以手动设置一个字段,从一个SMW属性、一个货物字段、一个类别、一个命名空间、一个“概念”或一个手动设置列表中的一组值中自动完成。设置值和映射“在上面。

您还可以根据Wiki之外的值自动完成,包含在网页、数据库、文件等中;外部值自动完成下面的各种方法来做到这一点。

如果指定一个字段来保存多个值,默认情况下,自动完成将支持多个值:在输入一个值之后,放置一个定界符,新的自动完成将为下一个值启动。通过添加“字段”,可以手动指定字段应该具有多值自动完成。列表“字段定义的参数”。还可以使用“定界符=…“参数(默认为逗号)。

默认情况下,字段将提供的自动完成的最大数量为1000;这是出于性能原因。若要更改此编号,请更改$WGPAGEMADSMAX自动完成值在LocalSettings.php。

停用[编辑]

如果通过一个字段默认启用了自动完成,则可以通过将输入类型设置为“文本”或“文本”来禁用自动完成。

远程自动完成[编辑]

默认情况下,字段自动完成值的集合在JavaScript声明中包含在表单的HTML页中。出于性能原因,在页面中可以放置多少个值存在限制;默认情况下,限制设置为100。在达到这个数目之后,远程自动完成完成,根据用户键入的内容,AJAX调用自动完成。这种类型的自动完成速度较慢,但允许更多的自动完成结果。

您可以通过向LocalSettings.php添加如下内容来更改默认值:

$WGPAGEFFATSMAX LoCalAutoAutoRealValues = 二百

每个字符的匹配[编辑]

默认情况下,页表单自动完成与可能的值集合中的每个单词的开头匹配。但是,您可以通过将下列行添加到LocalSettings.php中来更改自动完成,而不是匹配每个字符:

$WGPAGEMAGATOSUTOUTION OLARCHARS = 

对于具有非ASCII字符的值(例如Wiki在非罗马字母表的语言中)来说,这个特性尤其重要;因为默认的基于字的自动完成还没有与非ASCII字符一起工作。

带重音的字符自动完成[编辑]

带重音的字符自动完成

具有重音的字符的灵活自动完成由组合框和令牌输入类型支持。

重音折叠有其局限性,但它可以帮助一些重要但被忽视的用户交互工作得更好。重音折叠功能本质上将Unicode字符映射到ASCII等价物。有了口音的折叠,用户搜索咖啡馆、咖啡馆甚至是咖啡馆都没关系,结果也一样。

外部值自动完成[编辑]

使用Wiki外部的数据有两种方法,一种是从一个接收子串的URL返回JSON格式的数据,类似于MyaWiki API返回的JSON,另一种是使用。外部数据扩展以从外部/内部源获取数据。

从外部URL[编辑]

您可以使用Wiki之外的值对字段进行自动完成,使用以下参数:

  • 来自URL=的值URL标识符

要做到这一点,采取以下步骤:

  1. 创建通过查询字符串获取子字符串的页面/ Web服务,并显示一组完成值。Page Fras希望获得一个JPSON格式响应,其中一个“PFUTOOTENT”的TopPrEVER和一个带有“标题”键的对象数组,标记了可能完成的值。你可以看到一个简短的例子从这个API调用语义-MILTAWIKI.ORG.
    例如,如果你有三个国家的名单——乌拉圭、德国和日本——并被要求列出“AN”可能完成的清单,你就会返回:
    {“pFututo完成”:[ {标题〉:“德语”},{标题):“日语”}
    这也使得在另一个Wiki上的值很容易自动完成。
  2. 决定一个短字符串来表示这个URL。
    例如,在我们国家列表中提供服务的查询可以称为“国家查找“。
  3. 将短字符串添加到数组中$WGPAGE格式在LoopalStutsP.PHP中,当看到字符串时,配置页面窗体以使用URL。“您希望用户输入的位置将转到哪里。
    在我们的示例中,如果我们希望页面表单将用户的击键输入到URLHTTP://ExpLo.DOM/CopyLoopUp.PHP通过URL参数C“我们会把:
    $WGPAGE格式[“国家查找”] = “HTTP://ExpLo.DOM/CopyLoopUp.PHP?C= <子> >
    
  4. 从URL中添加参数“值”URL标识符字符串“在表单定义中的相关字段。
    对于我们国家的例子,我们可能有一个看起来像
    {{{Field}国家}输入类型= URL= CurrnLoopUp}}的令牌值

使用外部数据扩展[编辑]

使用“来自外部数据的值”与自动完成值相关联的图标图像

这个外部数据扩展(ED)支持从包括外部URL、常规wiki页面、上传文件、本地服务器上的文件、数据库和LDAP目录在内的多个源检索数据。

要使用ED自动完成,您需要首先调用窗体定义中的任何ED的“γGETI..……数据”解析器函数(最好在表单定义的底部,以避免不必要的断线)。这将获取可以在字段标签中使用的数据。(参见如何调用这些外部数据文档)。然后字段标签可以使用这些参数:

  • 来自外部数据的值=变量名(强制性)
  • 图像=变量名(可选)
  • 描述=变量名(可选)

这里是一个示例调用,以获取来自一些URL的数据:

{{ GETSyWebLoDATA:URL =统一资源定位地址{格式=CSV与标题}数据=标题名变量名=外部变量变量NAME1图像名变量名=外部变量描述变量名=外部变量变量NAME3}

假设窗体定义包含这样的调用,则字段标记可以使用检索到的自动完成的值——而不仅仅是设置自动完成值本身,而且,如果输入类型是“组合框”或“令牌”,则为每个设置一个相应的缩略图图像和描述。

假设我们的外部数据调用检索了三个“列”值,如上面所示,使用该数据的字段标签看起来如下:

{{{字段}…〉来自外部数据的值=标题名变量名图像=图像名变量名描述=描述变量名} }

相依自动完成[编辑]

可以根据用户已经在表单中的另一字段设置的值来设置字段的自动完成值。这是用参数完成的。依赖于=的值,它有这样的句法:

{{{{} }…}值依赖于模板名称[字段名]

它指定该字段的当前允许值集是由该页从该字段获取的所有值。“字段名”等于选定的值“字段名”以当前的形式。

这令人困惑吗?

这个例子可能有帮助:如果一个模板被称为“餐厅”,它有一个名为“国家”和“城市”的模板字段(不是属性),并且你希望一组用于自动完成的城市仅仅是那些城市。在用户选择的国家然后,城市字段的字段标签应该看起来像:{{{字段〉城市输入类型=组合框〉值依赖于=餐馆[国家] } }.

上传文件[编辑]

如果表单中的字段意在保存上载文件的名称(例如,图像),则可以允许用户直接通过表单上传该文件。这只是通过在表单定义中添加参数“上传”到该字段的声明来完成的。这将在窗体旁边添加一个链接读取该字段的“上传文件”;如果用户点击这个链接,它将弹出一个“灯箱”样式窗口(使用软盒允许用户上载文件的JavaScript库。一旦用户这样做,窗口将关闭,该字段将包含上传文件的名称。如果字段被配置为包含一个值列表,则新文件名将被附加到前面的任何文件中;否则,文件名将覆盖以前包含的字段。请注意,还必须在相应的字段声明中添加“输入类型=文本”;否则“上载”将不起作用。

对于可上载的字段,还可以通过在字段定义中设置“默认文件名=”参数来设置上传文件的默认文件名。此参数的值可以包括解析器函数、魔术字等。它还可以包括变量“<页面名称>”,它被添加或编辑的页面的名称所替代。因此,向字段定义中添加参数“默认文件名=图像为“页面名称>”,例如,对于一个名为“abc”的页面,可以将任何上传文件的默认名称设置为“图像ABC”。注意,如果您只想指定一个默认文件来使用,例如“IxEnEdEd.PNG”,则常规的“默认= IVIENEDED.PNG”参数将执行。

你可以看到一个文件上传演示在这里.

注意,上传窗口将不工作。$ WGRebug框架设置为在你本地设置.

你也可以设置可上传的字段来直接使用操作系统自己的上传,而不是使用MyaWiKi的上传系统——这给用户更少的选择,但是它是一个更简单的过程,并且在移动设备上它可以提供一些有趣的选项,比如在拍照后上传照片。为此,将下列行添加到LocalSettings.php:

$WGPAGEFFASS SULTIMUPROAD = 

可上载字段的特殊参数为:

  • 可上传的-指定这是一个可上载的字段。
  • 图像预览-指定上传图像的缩略图应放置在表单中的字段下。
  • 默认文件名=文件名-指定用此字段上传的文件的默认文件名。

“选择显示”[编辑]

对于“复选框”、“复选框”、“ReloButt”、“下拉”和“ListBox”类型的输入,参数显示在选择=指定页面中的某些(HTML)元素ID应在输入中选择一定值时才显示。在使用此特性的示例中,尝试“以表单编辑”的任何一个“维基百科源”并注意当为“发布类型”下拉选择不同的值时会发生什么;检查形态来源看看它是如何实现的。

这个参数的语法是:

  • 显示在选择=值1= >元素ID 1值2= >元素ID 2值3= >元素ID 3等。

可以提供具有不止一个元素ID的值:

  • 显示在选择=价值A= >元素ID 1价值B= >元素ID 1价值B= >元素ID 2C值= >元素ID 3等。

对于“复选框”类型的输入,简单地说显示在选择=元素ID“应该使用。注意,元素ID不能包含空格和/或多字节字符,不能以数字开头。