Я только что создал форму с двумя значениями, один - период времени, а другой - имя клиента. Теперь я хотел изменить текстовые поля, которые они создаются с помощью поля даты и выпадающего меню. Выпадающее меню создано, но для поля «период» у меня есть некоторые проблемы. That - это страница в руководстве по построению даты. Проблема в том, что поле формы принимает две даты в одной строке, это называется «период». Но поле даты, когда они сделаны, представляет собой одно поле с одним идентификатором для каждого в форме, поэтому у меня не будет поля, которое я искал, но двух разделенных полей. код ниже:объединение двух значений в форме extjs 4.1
items: [{
xtype: 'datefield',
anchor: '100%',
fieldLabel: 'From',
name: 'from_date',
maxValue: new Date() // limited to the current date or prior
}, {
xtype: 'datefield',
anchor: '100%',
fieldLabel: 'To',
name: 'to_date',
value: new Date() // defaults to today
}],
Как я могу объединить две даты в одном поле для формы для обработки? Есть ли взлом или обходной путь? Спасибо.
Обновление ok Я установил скрытое поле с идентификатором «период». Значение этого параметра должно быть комбинацией значений двух полей даты. Проблема в том, что я не знаю, как получить значение поля даты внутри другого объекта. Код следующим образом (чтобы сделать его работу, вы должны забрать строку «значение:» в «период» поле):
{
xtype: 'datefield',
fieldLabel: 'Start date',
format: 'Ymd',
//altFormats: 'Ymd',
listeners: {
'change': function(me) {
alert(me.getSubmitValue());
}
}},
{
xtype: 'datefield',
fieldLabel: 'End date',
format: 'Ymd',
//altFormats: 'm/d/Y',
listeners: {
'change': function(me) {
alert(me.getSubmitValue());
}
}},
{
xtype: 'textfield',
hidden:true,
fieldLabel: 'Period',
id: 'period'
value:
},
{
xtype: 'textfield',
name: 'client',
fieldLabel: 'Client',
id: 'client'
}
Точно как я объединить эти два значения? Спасибо
Я обновил вопрос, не могли бы вы дать мне некоторое объяснение по этой проблеме? Спасибо – softwareplay
Во-первых, для поля Period вы должны использовать класс Ext.form.field.Hidden вместо текстового поля со скрытым: правда. Что касается объединения значений, в обработчике отправки просто получите значения из формы, используя getValues (). getValues () вернет карту пар ключ-значение для каждого поля формы. Извлеките значения из двух соответствующих полей, которые вы хотите объединить, а затем установите значение скрытого поля: form.setValues ({Period: theCombinedValue}); – existdissolve