(extjs)获取表单中单选按钮的选定值。没有返回值

时间:2012-09-06 16:41:08

标签: javascript forms extjs extjs4

我已经按照基本程序获取了单选按钮表单的选定值。

        ....
        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结束。这是怎么回事?

2 个答案:

答案 0 :(得分:5)

尝试设置无线电的inputValue属性。哪个是应该生成的输入元素的value属性的值,并且应该在作为表单的一部分提交时用作参数值。

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

然后它可以作为

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

参考docs getGroupValue

答案 1 :(得分:4)

想出来!事实证明我的extjs示例代码有错误!

我将value更改为inputValue。取自Sencha Docs,inputValue是:

  

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

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

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