1

在智能手机中为电话号码字段显示数字键盘的方法是什么。

在这里我搜索并发现

type="tel" & type="number" 会解决的

但在挂毯中它显示错误:

无法将“tel”解析为组件类名称 无法将“数字”解析为组件类名称

任何人都可以告诉我当用户来到并点击电话号码字段时,数字键盘需要显示吗?

4

2 回答 2

1

您使用的是哪个版本的 Tapestry?

   <t:textfield value="value" placeholder="Number field"
    label="Number field" type="number" />

在 5.3.6 中对我来说工作正常,并在 iPad 上打开数字键盘。

根据错误报告,这仅适用于 5.3.2 及更高版本,因此您可能需要升级 Tapestry 版本。

于 2013-01-08T09:29:31.393 回答
0

您的错误表明挂毯试图插入type="number"不存在的名为“数字”的挂毯组件。

在 Tapestry 命名空间type中是一个保留属性,用于指示应该将 type="coponentName" 的标记的呈现委托给哪个组件。

所以我假设你的 tml 片段看起来像:

<t:textfield type="number" value="yourValuePropery" .../>

这意味着该类型将被读取为 t:type 并因此导致您的异常。

您可以改用以下方法来解决此问题:

你的 *.tml

<input t:id="myNumberField" type="number"/>

你的 *.java

@Component(id="myNumberField", parameters={"value=yourValuePropery"})
private TextField myNumberField;
于 2013-01-08T04:54:22.147 回答