当前位置:  开发笔记 > 编程语言 > 正文

使用extjs Ext.MessageBox.alert后如何聚焦文本框

如何解决《使用extjsExt.MessageBox.alert后如何聚焦文本框》经验,为你挑选了2个好方法。

我想验证我的extjs表单.当文本字段为空时,应显示一个警告框,然后我们的光标必须关注文本框.我尝试了下面的编码.警报工作正常.但光标没有聚焦.能帮助我任何人专注吗?

if(Ext.get('first').dom.value=='')
{
    Ext.MessageBox.alert('Status', 'Enter your First Name!');
    document.getElementById("first").focus();
}

Paul Dixon.. 8

该文件指出的MessageBox是异步的:

请注意,MessageBox是异步的.与常规JavaScript警报(将停止浏览器执行)不同,显示MessageBox不会导致代码停止.因此,如果您的代码只应在MessageBox的一些用户反馈之后运行,则必须使用回调函数(有关详细信息,请参阅show的函数参数).

因此,您的focus()在调用Ext.MessageBox.alert后立即执行,而不是在用户解除它时:当用户单击以关闭警报时,焦点将再次更改.

您可以尝试使用常规的javascript alert(),这是同步的.



1> Paul Dixon..:

该文件指出的MessageBox是异步的:

请注意,MessageBox是异步的.与常规JavaScript警报(将停止浏览器执行)不同,显示MessageBox不会导致代码停止.因此,如果您的代码只应在MessageBox的一些用户反馈之后运行,则必须使用回调函数(有关详细信息,请参阅show的函数参数).

因此,您的focus()在调用Ext.MessageBox.alert后立即执行,而不是在用户解除它时:当用户单击以关闭警报时,焦点将再次更改.

您可以尝试使用常规的javascript alert(),这是同步的.



2> harley.333..:
if (Ext.get("first").dom.value == "") {
    Ext.MessageBox.alert("Status", "Enter your First Name!", function() {
        Ext.get("first").focus();
    });
}

推荐阅读
爱唱歌的郭少文_
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有