(extjs)获取表单中单选按钮的选定值.不返回该值

(extjs) Get selected value of radio button in form. Not returning the value

本文关键字:返回 单选按钮 extjs 获取 表单      更新时间:2023-09-26

我已经遵循了获取单选按钮窗体的选定值的基本过程。

        ....
        xtype: 'radiofield',
        name: 'timespan',
        id: 'timespan',
        value: 7,
        checked: true,
        fieldLabel: 'Time Span',
        boxLabel: '7 days'
    }, {
        xtype: 'radiofield',
        name: 'timespan',
        value: '30',
        fieldLabel: '',
        labelSeparator: '',
        hideEmptyLabel: false,
        boxLabel: '30 days'
    }, {
        xtype: 'radiofield',
        name: 'timespan',
        value: '60',
        fieldLabel: '',
        labelSeparator: '',
        hideEmptyLabel: false,
        boxLabel: '60 days'
    }, {
        xtype: 'radiofield',
        name: 'timespan',
        value: 'all',
        fieldLabel: '',
        labelSeparator: '',
        hideEmptyLabel: false,
        boxLabel: 'All' ....

我使用过这样的方法:

Ext.getCmp('filter_form').getForm().getValues()['timespan']

但是,当我将其运行到控制台时,我得到的不是所选按钮的值,而是单词on。什么?!我尝试过几种不同的getValues、getForm等组合,但最终总是使用ontruefalse。这是怎么回事?

尝试设置收音机的inputValue属性。哪个值应该进入生成的输入元素的值属性,并在作为表单的一部分提交时用作参数值。

{
        xtype          : 'radiofield',
        name           : 'timespan',
        inputValue     : '30',
        hideEmptyLabel : false,
        boxLabel       : '30 days'
}

那么它可以作为访问

Ext.ComponentQuery.query('[name=timespan]')[0].getGroupValue();

请参阅文档getGroupValue

想明白了!原来我的extjs示例代码有一个错误!

我把value改成了inputValue。取自Sencha文档,inputValue为:

应该进入生成的输入元素值的值属性并且在作为表单的一部分提交时应用作参数值。默认为:"on"

啊哈!!因为我没有指定"真实"值,所以它默认为on

使用extjs示例/示例代码时要小心!