отслеживание изменения полей в форме
Уважаемые! Как отслеживать изменение полей в форме? Допустим форму редактирования открыли - кнопка созранить не активна, изменили любое поле - кнопочка активна. Листенеры на все компоненты добавлять не дело, так как и компоненты разные. Может есть другие варианты?: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); }) |
Часовой пояс GMT +3, время: 02:43. |