Adobe Flex表单失去焦点,因此默认按钮不起作用

时间:2012-07-25 16:26:56

标签: flex focus

我的表单如下所示:

<mx:HBox width="100%" horizontalAlign="center" verticalAlign="middle">
        <mx:Panel horizontalAlign="center"
                  title="{resourceManager.getString('Resources','views.login.title')}"
                  verticalAlign="middle">
            <mx:Form id="loginForm" defaultButton="{loginButton}">
                <mx:FormItem label="{resourceManager.getString('Resources','views.login.ip')}">
                    <mx:Label id="url" text="{url}"/>
                </mx:FormItem>
                <mx:FormItem label="{resourceManager.getString('Resources','views.login.username')}"
                             required="true">
                    <mx:TextInput id="username"/>
                </mx:FormItem>
                <mx:FormItem label="{resourceManager.getString('Resources','views.login.password')}"
                             required="true">
                    <mx:TextInput id="password" displayAsPassword="true"/>
                </mx:FormItem>
            </mx:Form>
            <mx:FormItem  direction="horizontal" width="100%" horizontalAlign="right" paddingBottom="2" paddingRight="2">
                <mx:Button id="loginButton"
                           label="{resourceManager.getString('Resources','views.login.loginBtn')}"/>
            </mx:FormItem>
        </mx:Panel>
    </mx:HBox>

我经历过一段时间(不总是)的行为是当我从用户名切换到密码然后尝试点击“Enter”时,Botton的点击回调不会被调用。如果我点击标签(id是“url”)然后进入任何文本框,“Enter”键工作正常。我假设表格不知何故继续失去焦点。我很感激有关解决这个问题的任何想法。

1 个答案:

答案 0 :(得分:2)

我最近遇到过同样的问题,你找到了根本原因吗?我发现解决方法是在defaultButton处理程序中设置creationComplete形式而不是mxml标记。我在Flex4.1中看到了这个问题,我在Flex 3.6中没有看到它。我没有尝试过flex 4.6。