0

我有“添加地址”按钮,点击按钮会弹出一个 Jquery 对话框,用门牌号、街道、城市、县、州、国家和邮政编码填写地址信息。我想从门牌号开始我的标签,但焦点总是在标题栏上设置关闭按钮。

        <f:view>
    <body onload="sartup()">
        <h:form id="form1">
            <h:panelGroup >
                <h:outputLabel value="House Number" styleClass="label" id="hnoLbl"></h:outputLabel>
                <h:inputText id="hnoId" value="#{somebackingbean.address1}"></h:inputText>
            </h:panelGroup>
            <h:panelGroup>
                <h:outputLabel value="Street" styleClass="label" id="streetLbl"></h:outputLabel>
                    <h:inputText  id="streetID" value="#{somebackingbean.address2}" ></h:inputText>
            </h:panelGroup>         
        </h:form>
    </body>
</f:view>

我尝试使用以下 JavaScript 设置焦点:

    Function startup(){
    document.getElementById("form1:hnoLbl").triggerHandler("focus");
    }

     Function startup(){
    document.getElementById("form1:hnoLbl").focus();
    }

但它不起作用。我更喜欢使用键盘希望光标直接指向第一个文本字段。我该怎么做才能从门牌号开始打卡?提前致谢。

4

1 回答 1

1

如果出现对话框,请尝试在对话框打开时进行设置open

$( "#yourdialog" ).dialog({
   open: function() {
      $("#form1:hnoLbl").focus();
   }
});

更新:
根据您的评论,您无法从 open 事件执行代码,因此请尝试将焦点放在setTimeout()对话框已加载后触发的调用上,如下所示:

setTimeout(function() {
   document.getElementById("form1:hnoLbl").focus();
}, 400); //adjust the duration accordingly if needed
于 2012-10-31T19:06:21.220 回答