Javascript 如何使此validationTextBox保持焦点?

Javascript 如何使此validationTextBox保持焦点?,javascript,dojo,Javascript,Dojo,在执行ajax请求后,如果表单中的输入错误,我将尝试将此ValidationTextBox作为焦点,并显示一条显示问题的指示消息 代码是: dijit.byId("passwordField").focusNode.focus() 表单元素如前面提到的validationTextBox 让我更加困惑的是,在Dojo1.5之前,这段代码只是dijit.byId(“passwordField”).focus(),并且工作得很好。我怎样才能解决这个问题 我也尝试过: require(["dijit/

在执行ajax请求后,如果表单中的输入错误,我将尝试将此ValidationTextBox作为焦点,并显示一条显示问题的指示消息

代码是:

dijit.byId("passwordField").focusNode.focus()
表单元素如前面提到的validationTextBox

让我更加困惑的是,在Dojo1.5之前,这段代码只是
dijit.byId(“passwordField”).focus()
,并且工作得很好。我怎样才能解决这个问题

我也尝试过:

require(["dijit/focus"],function(focusU){ 
  focusU.focus(dojo.byId("ID"));});

但是这也不起作用。

您可以在表单标签中尝试类似的操作:

<script language="javascript" type="text/javascript">
        Sys.Application.add_load
                (
                function () {
                    window.setTimeout(focus, 1);
                }
                )
        function focus() {
            if (document.getElementById('txtComm1') != null) {
                if (document.getElementById('txtComm1').disabled != true) {
                    document.getElementById('txtComm1').focus();
                }
            }
        }      

    </script>

Sys.Application.add\u加载
(
函数(){
设置超时(焦点,1);
}
)
函数焦点(){
if(document.getElementById('txtComm1')!=null){
if(document.getElementById('txtComm1').disabled!=true){
document.getElementById('txtComm1').focus();
}
}
}      
如果dijit.widget.focus()失败,则_FocuxMixin在启动期间未正确加载

对于任何dijit.form.Type,您应该能够通过以下方式成功获得焦点:

dijit.byId('ID').focus();

我认为您混淆了DOM事件焦点和小部件焦点处理。如果启动
widget.focusNode.focus
-您将无法从任何浏览器中的
ValidationTextBox
中受益。

如果您的表单字段位于
dijit/Dialog
中,则
对话框将自动聚焦于第一个输入。您可以通过设置以下选项禁用此行为:

autofocus: false
在对话框上,然后

widget.focus();
应该很好。

这对我来说很有效

setTimeout(function(){
    widget.focus();
}, 100);

我已经尝试过dijit.byId(“ID”).focus()。事实上,这是我做的第一件事。但这不起作用,我尝试了focusNode的方法,因为这就是答案。但这两种方法都不起作用。它确实有效,设置
required
属性,它将断言focusmixinHow的it hangin'?有问题吗?或者您已对它们进行了排序?如果您需要“dijit/registry”作为“registry”注册表。byId('ID')。focus()适合我。仅当您希望最初聚焦ValidationTextBox时,才应在ValidationTextBox节点上设置html5自动聚焦属性。