проверка формы на изменение полей, кроме одного!
Привет всем!
Есть такой код:
var form = new Ext.FormPanel({
id: 'form_id',
url: 'curl',
frame: true,
monitorValid: true,
trackResetOnLoad: true,
items: [
],
listeners: {
clientvalidation: function(form, valid){
if (form.getForm().isDirty())
console.log('DIRTY!!!');
}
}
});
проверяющий не изменялись ли какие поля формы. А есть поле формы(комбобокс), которое не должно учитываться при проверке формы. Как сделать это? Выставлять для формы form.dirty=false не получается. Спасибо за Ваше драгоценное время. |
Цитата:
|
нет, совсем не то...
|
Есть еще идеи???
|
Цитата:
|
я повесил, не срабатывает:
validator: function(){
return true;
},
Я нашел, что если после изменения значения в combo выполнить
Ext.form.TextField.superclass.reset.call(Ext.getCmp('combo_id'));
то он становится валидным. Думаю привяжу его к событию onselect. ??? Как Вы на это смотрите? |
Цитата:
validator: function(){
==> return true;
},
Попадаем? Цитата:
|
заходит в тело функции. все ок.
|
xtype: 'container',
layout: 'column',
items: [
{
xtype: 'combo',
valueField: 'id',
id: 'combo_id',
width: 140,
displayField: 'action_name',
triggerAction: 'all',
selectOnFocus:true,
hiddenName: 'actions',
validator: function(){
return true;
},
store: new Ext.data.JsonStore({
autoLoad: true,
url: 'url',
fields: ['id','action_name'],
root: 'rows',
listeners: {
load: function(){
Ext.getCmp('combo_id').setValue(1);
}
}
})
}
|
Дык, получается, помог validator?
|
нет. clientvalidation показывает, что isDirty!
|
Сделал так:
xtype: 'container',
layout: 'column',
items: [
{
xtype: 'combo',
valueField: 'id',
id: 'combo_id',
width: 140,
displayField: 'action_name',
triggerAction: 'all',
selectOnFocus:true,
hiddenName: 'actions',
store: new Ext.data.JsonStore({
autoLoad: true,
url: 'url',
fields: ['id','action_name'],
root: 'rows',
listeners: {
load: function(){
Ext.getCmp('combo_id').setValue(1);
Ext.getCmp('combo_id').originalValue = 1;
}
}
}),
listeners:{
select: function(){
Ext.getCmp('combo_id').originalValue = Ext.getCmp('combo_id').getValue();
}
}
основываясь на вот этом http://www.delphifaq.com/faq/javascr...js/f3463.shtml |
Ex_Soft Спасибо тебе! :)
|
Нашел более красивый способ :)
items: [
{
xtype: 'combo',
valueField: 'id',
.....
isDirty: function() { return false }
}
|
Цитата:
|
| Часовой пояс GMT +3, время: 21:45. |