отслеживание изменения полей в форме
Уважаемые! Как отслеживать изменение полей в форме? Допустим форму редактирования открыли - кнопка созранить не активна, изменили любое поле - кнопочка активна. Листенеры на все компоненты добавлять не дело, так как и компоненты разные. Может есть другие варианты?:write:
|
то есть, ты хочешь listener на форму, который будет мониторить любые изменения полей формы?
|
true
|
ну смотри, идешь на API documentation, открываешь описание ext.form.FormPanel, тут тебе надо раздел listener - ищешь нужный тебе. Все.
В случае, если не удалось найти подходящий листенер, ну тут три варианта: листенера нету - значит такая задумка не выполнима, листенера нету - блин, надо писать свой плагин для FormPanel, листенера нету - посмотреть еще раз внимательней, вдруг случайно пропустил. |
спасибо :)
|
а как тебе такой вариант:
допустим есть у тебя форма, в форме пускай будет текстовое поле, которое не должно быть пустым. ты заполнил поле - значение поля стало валидным - оп, кнопочка "сохранить" активна. так тебе подходит? или снова не то? :) |
не то. юзер имеет право оставлять пустыми поля.
|
насколько я понимаю, то мы можем попросить форму мониторить валидность всех полей формы. и все.
|
хотя, ты знаешь, признаюсь, я сказал не правду, таки можно, изменения таки можно отслеживать :)
|
ты такое хотел:
Ext.onReady(
function(){
var simple = new Ext.FormPanel({
frame:true,
monitorValid: true,
title: 'Simple Form',
width: 350,
defaults: {width: 230},
defaultType: 'textfield',
listeners: {
clientvalidation : function(form, valid) {
if(form.getForm().isDirty())
{console.log("yes")}
}
},
items: [{
fieldLabel: 'First Name',
name: 'first',
allowBlank:false
}],
buttons: [{
text: 'Save'
},{
text: 'Cancel'
}]
});
simple.render(document.body);
})
|
признался бы ты еще кое в чем (как все это сделать) :lol:
бамбамбия! кергуду! завтра поищу спосооб, не справлюсь - обращусь за помощью, справлюсь - запостю результат. Но где то я такое даже встречал.:-? |
хм.. не успел.
|
ну спасибо :thanks:
|
| Часовой пояс GMT +3, время: 22:55. |