在xtype textfield的Sencha接触键盘下个按钮

时间:2014-08-21 07:49:40

标签: android cordova sencha-touch-2

以下是我的简单注册表格的Sencha代码:

xtype: 'fieldset',
items: [
    {
        name: 'name',
        id: 'rename',
        xtype: 'textfield',
        placeHolder: 'Name*',
        tabIndex: 1
    },
    {
        name: 'emailfield',
        id: 'reemailid',
        xtype: 'emailfield',
        placeHolder: 'email@example.com*',
        tabIndex: 2
    },
    {
        name: 'password',
        id: 'repassword',
        xtype: 'passwordfield',
        placeHolder: 'Password*',
        tabIndex: 3
    },
    {
        name: 'confpassword',
        id: 'reconfpassword',
        xtype: 'passwordfield',
        placeHolder: 'Confirm Password*',
        tabIndex: 4
    },
    {
        name: 'address',
        id: 'readdress',
        xtype: 'textareafield',
        placeHolder: 'Address*',
        tabIndex: 5
    },
    {
        name: 'dob',
        id: 'redob',
        placeHolder: 'Date Of Birth',
        xtype: 'datepickerfield',
        destroyPickerOnHide: true,
        picker: {
            yearFrom: 1960
        },
        tabIndex: 6
    }
]

当我在Android键盘中填写表单时,Android键盘右下角有一个“Go”按钮,这有助于我们提交表单。但是我想要一个“下一步”按钮,它会将我带到下一个字段,我的意思是如果我填写了名称并按下Android键盘上的“下一步”按钮,那么它应该带我去发送电子邮件。

1 个答案:

答案 0 :(得分:0)

只要按下“Return”或“Go”键,就会在action上触发textfield事件。您应该利用它在下一个字段上调用focus方法。

这样的东西可以在Android上运行,但不会在iOS上测试

Ext.define('Fiddle.view.Main', {

    extend: 'Ext.Container',

    config: {
        fullscreen: true,
        styleHtmlContent: true,
        items: [
            {
                xtype: 'textfield',
                label: 'First field',
                listeners: {
                    action: function() {
                        Ext.getCmp('field_2').focus();
                    }
                }
            },
            {
                id: 'field_2',
                xtype: 'textfield',
                label: 'Second field'
            }
        ]
    }

});

工作示例:https://fiddle.sencha.com/?fiddle=b3o#fiddle/b3o

[编辑]

以前的解决方案仍然有效,但我发现了这个相关的问题:

How to change the Android softkey keyboard "Go" button to "Next"

这是在原生Android项目上完成的,并修改了“Go”按钮应用程序范围的行为。看看吧。