2012-09-06 15 views
6

He seguido los procedimientos básicos para obtener el valor seleccionado de la forma de mi botón de opción.(extjs) Obtener el valor seleccionado del botón de opción en el formulario. No devolvió el valor

 .... 
     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' .... 

He utilizado métodos como:

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

Pero cuando corro esto a la consola, en lugar de obtener el valor del botón seleccionado, me sale la palabra on. ¡¿Lo que da?! He probado varias combinaciones diferentes de getValues, getForm, etc., pero siempre termino con on o true o false. ¿Que está pasando aqui?

Respuesta

3

lo descubrió! ¡Resulta que mi código de muestra extjs tiene un error!

He cambiado value a inputValue. Tomado de la Sencha Docs, inputValue es:

El valor que debe entrar en el elemento de entrada generada valor atributo y debe ser utilizado como el valor de parámetro cuando la presentación como parte de una forma. Predeterminado a: 'en'

Aha !! Como no había especificado un valor "real", de manera predeterminada fue on.

¡Tenga cuidado al usar los ejemplos de extjs/código de muestra!

4

intente configurar inputValue propiedad de la radio. Cuál es el valor que debe ir en el atributo de valor del elemento de entrada generado y se debe usar como valor del parámetro cuando se envía como parte de un formulario.

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

entonces es posible acceder a

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

refieren docsgetGroupValue

+0

getGroupValue() no estaba leyendo para mí. No fue reconocido. Sin embargo, he encontrado una 'solución' sin usar getGroupValue(). ¡Gracias! – hereiam

Cuestiones relacionadas