如何将提交按钮设置为表单的默认按钮

时间:2016-05-23 07:49:07

标签: javascript extjs

我在ExtJs 6中有一个表单,我需要设置提交按钮作为默认按钮,当在文本字段中输入时按下,这里是代码

{
    xtype: 'panel',
    animCollapse: true,
    collapseDirection: 'top',
    collapsible: true,
    iconCls: 'fa fa-filter',
    title: 'By Mac Address',
    items: [{
        xtype: 'textfield',
        id: 'macaddressValue',
        itemId: 'macaddressValue',
        padding: 10,
        fieldLabel: 'Mac Address'
    }, {
        xtype: 'button',
        width: 150,
        iconCls: 'fa fa-search',
        text: 'Search',
        listeners: {
            click: 'onSearchClick4'
        }
    }]
}

我使用过引用但没有成功,我可以使用或看作什么是潜在的答案

2 个答案:

答案 0 :(得分:1)

在文本字段中写一个按键监听器。并调用提交按钮的处理函数。

您可以在下面找到代码。

{
xtype: 'panel',
animCollapse: true,
collapseDirection: 'top',
collapsible: true,
iconCls: 'fa fa-filter',
title: 'By Mac Address',
items: [{
    xtype: 'textfield',
    id: 'macaddressValue',
    itemId: 'macaddressValue',
    padding: 10,
    fieldLabel: 'Mac Address',
     listeners: {
        keypress : function(textfield,eventObject){
            if (eventObject.getCharCode() == Ext.EventObject.ENTER) {
                me.onSearchClick4(); // Call the handler of your Submit button.
            }
        }
    }
}, {
    xtype: 'button',
    width: 150,
    iconCls: 'fa fa-search',
    text: 'Search',
    listeners: {
        click: {
            scope : me,
            fn : me.onSearchClick4();
        }
    }
}]}

答案 1 :(得分:0)

找到答案

我只需要在textfield中添加一个specialkey事件并触发提交按钮 像这样

if (e.getKey()  ==  e.ENTER)  {
   var myBtn = Ext.getCmp('macSearch');
   myBtn.fireEvent('click', myBtn);
}