gpt4 book ai didi

jsf - 将焦点设置到 JSF 输入文本

转载 作者:行者123 更新时间:2023-12-02 17:44:30 25 4
gpt4 key购买 nike

我需要在加载页面时将输入焦点定向到特定的输入文本组件(以允许使用条形码扫描仪输入值)。

在纯 HTML 中,我会向 body 标记添加 JavaScript“onload”处理程序,但 JSF 中一定有更好的方法。

实现此目的的“最干净”方法是什么:

  1. “静态”情况,即每次页面加载时同一控件都会获得焦点。
  2. “动态”情况,对于每个页面加载,这可能是不同的控件。

最佳答案

有趣的问题。

JSF 中没有现成的东西可以做到这一点。您已经知道如何在纯 HTML/Javascript 中执行此操作,除了疯狂的 ID 之外,JSF 添加的内容没有任何不同。

因此,对于“静态”访问,您只需确保指定完整的 JSF ID,例如。 “myform:mydiv:myinput”。虽然这不是很干净,但如果您的页面发生变化,那么这个 ID 很可能也会发生变化。

理想情况下,您将拥有一个嵌套在 <h:inputText> 中的 JSF 组件。这表明需要重点关注。例如:

<h:inputText value="#{whatever}">
<my:focusComponent />
</h:inputText>

从技术上讲,这并不是一个困难的解决方案。该组件只会找到它的 ID,然后添加一些对其调用 focus() 的 javascript。

Seam 有类似的东西 <s:defaultAction/>使链接或按钮响应回车键的组件。您可能想查看其源代码。

关于jsf - 将焦点设置到 JSF 输入文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1542355/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com