30.12.2010, 12:12
|
|
Профессор
|
|
Регистрация: 12.10.2010
Сообщений: 196
|
|
проверка формы на изменение полей, кроме одного!
Привет всем!
Есть такой код:
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 не получается.
Спасибо за Ваше драгоценное время.
|
|
04.01.2011, 12:40
|
|
Профессор
|
|
Регистрация: 19.12.2009
Сообщений: 164
|
|
Сообщение от cmygeHm
|
А есть поле формы(комбобокс), которое не должно учитываться при проверке формы. Как сделать это?
|
allowBlank/preventMark/validator?
__________________
"Helo, word!" - 17 errors 56 warnings
|
|
10.01.2011, 09:33
|
|
Профессор
|
|
Регистрация: 12.10.2010
Сообщений: 196
|
|
нет, совсем не то...
|
|
14.01.2011, 10:21
|
|
Профессор
|
|
Регистрация: 12.10.2010
Сообщений: 196
|
|
Есть еще идеи???
|
|
14.01.2011, 10:35
|
|
Профессор
|
|
Регистрация: 19.12.2009
Сообщений: 164
|
|
Сообщение от cmygeHm
|
нет, совсем не то...
|
А чем Вас предложенные варианты не устроили? Тот же validator? Повесьте на него функцию возвращающую true...
__________________
"Helo, word!" - 17 errors 56 warnings
|
|
14.01.2011, 10:49
|
|
Профессор
|
|
Регистрация: 12.10.2010
Сообщений: 196
|
|
я повесил, не срабатывает:
validator: function(){
return true;
},
Я нашел, что если после изменения значения в combo выполнить
Ext.form.TextField.superclass.reset.call(Ext.getCmp('combo_id'));
то он становится валидным. Думаю привяжу его к событию onselect. ??? Как Вы на это смотрите?
|
|
14.01.2011, 11:33
|
|
Профессор
|
|
Регистрация: 19.12.2009
Сообщений: 164
|
|
Сообщение от cmygeHm
|
я повесил, не срабатывает
|
Но функция, как таковая, хоть дергается? Поставьте брякпоинт на
validator: function(){
==> return true;
},
Попадаем?
Сообщение от cmygeHm
|
Я нашел, что если после изменения значения в combo выполнить
Ext.form.TextField.superclass.reset.call(Ext.getCmp('combo_id'));
то он становится валидным. Думаю привяжу его к событию onselect. ??? Как Вы на это смотрите?
|
Да ректально как-то это, IMHO... Должно быть все просто как арбуз: операция довольно-таки довольно тривиальная (исключить контрол из валидирования)... Такие извраты...
__________________
"Helo, word!" - 17 errors 56 warnings
|
|
14.01.2011, 11:47
|
|
Профессор
|
|
Регистрация: 12.10.2010
Сообщений: 196
|
|
заходит в тело функции. все ок.
|
|
14.01.2011, 11:52
|
|
Профессор
|
|
Регистрация: 12.10.2010
Сообщений: 196
|
|
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);
}
}
})
}
|
|
14.01.2011, 12:06
|
|
Профессор
|
|
Регистрация: 19.12.2009
Сообщений: 164
|
|
Дык, получается, помог validator?
__________________
"Helo, word!" - 17 errors 56 warnings
|
|
|
|