【问题标题】:How to set focus to a textbox on page load event如何在页面加载事件上将焦点设置到文本框
【发布时间】:2011-02-12 19:54:38
【问题描述】:

我正在尝试将焦点设置到页面加载事件上的文本框。我通过引用元素 id 尝试了许多解决方案,但无法聚焦元素。后来当我使用萤火虫检查元素时,我发现同一元素的 id 在不同的执行过程中会发生变化。我正在寻找使用 javascript 或 jquery 来实现这一目标的最简单的解决方案

    <h:form id="form"> 
      <rich:dataTable value="#{books}" var="book">
        <ui:repeat value="#{authors}" var="author"> 
          <h:inputText value="#{author.name}"/>
        </ui:repeat>
      </rich:dataTable>
</h:form>

【问题讨论】:

    标签: javascript jquery jsf richfaces


    【解决方案1】:
    $(document).ready(function(){
      $('input.selected').focus();
    });    
    

    应在页面加载时将输入元素与“选定”类聚焦。

    【讨论】:

    • selected 类从何而来?我只是想念它吗?
    • 完全没有,因为 Kalpana 要求输入“the”文本框,所以他没有声明这是他标记中的第一个或最后一个。所以,我决定让课程参与可能是个好主意。
    【解决方案2】:

    使用

    $('#form :input:visible:enabled:first').focus();
    

    文件准备期间。

    【讨论】:

    • 我是这样用的。它是否正确?无法将焦点设置到元素。
    【解决方案3】:

    使用 jquery,这将获取#form 的第一个输入子项:

    $('#form input:eq(0)').focus();
    

    【讨论】:

    • 我在表单中这样使用,无法设置焦点
    • 如果您在 Firebug 中查看,是否插入了脚本?我假设您在某处引用了 jQuery 框架。如果有,在哪里?在运行任何 jQuery 代码之前需要加载它。
    【解决方案4】:

    根据whatwg.org,HTML5 自动对焦属性目前仅在 Opera 中可用,但将来会被其他浏览器采用。

    <input type="text" autofocus />
    
    <script>
        // jQuery
        $(function(){
            if(!("autofocus" in document.createElement("input"))){
                $("input[autofocus]:eq(0)").focus();
            }
        });
    </script>
    

    【讨论】:

      【解决方案5】:
      Private Sub SetFocus(ByVal ctrl As Control)
      ' Define the JavaScript function for the specified control.
      Dim focusScript As String = "<script language='javascript'>" & _
      "document.getElementById('" + ctrl.ClientID & _
      "').focus();</script>"
      
      ' Add the JavaScript code to the page.
      Page.RegisterStartupScript("FocusScript", focusScript)
      End Sub
      

      希望这会对你有所帮助..

      【讨论】:

      • 是VB吗?这有什么帮助?
      猜你喜欢
      • 2011-11-13
      • 1970-01-01
      • 2014-03-26
      • 1970-01-01
      • 2011-03-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-23
      相关资源
      最近更新 更多