0

嗨,我在挂毯页面上遇到了奇怪的问题。

在页面上,我有三个字段。
第 1 – 选择框 -> tabindex 为 1 且 t:validate="required”<br> 第 2 – 文本字段 -> tabindex 为 2 且 t:validate="required”<br> 第 3 – 文本字段 -> tabindex 为 3 且 t:验证=“必需”</p>

当我的页面加载时,默认焦点位于第二个文本字段上,但根据选项卡索引,它必须位于选择框上。

为了解决这个问题,我在我的 tml 页面上使用了下面的脚本。

<script type="text/javascript">
   Event.observe(window, 'load', function() {document.getElementById('id').focus();});
</script>

他工作得很好,页面加载焦点从文本字段转移到选择框,但文本字段上弹出错误气球。

4

3 回答 3

1

最后我得到了答案。

这是一个班轮解决方案。只需将 autofocus=”false” 放在表单组件中,就可以了。

默认情况下,自动对焦值为 true,页面将焦点放在字段上取决于某些条件,有时会表现得很奇怪。

访问下面的链接了解更多信息。 http://tapestry.apache.org/forms-and-form-components-faq.html

于 2013-06-20T05:47:37.997 回答
1

看一下Form组件上的autofocus属性。

“如果为 true(默认值),则将添加 JavaScript 以将光标定位到表单中。接收焦点的字段是第一个呈现错误、必需或存在的字段(按优先级顺序)。 "

您可能还对JavaScriptSupport.autoFocus(...)感兴趣

于 2013-06-19T13:09:58.913 回答
0

我认为这很可能是由于使用内联<script>来监听窗口的加载事件引起的。尝试通过 JavaScriptSupport 触发您的脚本。您可能需要给它一个 LATE 的 InitializationPriority。

我仍然不确定为什么它专注于文本字段而不是选择?

于 2013-06-19T13:43:07.937 回答