ExtJS: преобразование html-формы в ExtJS

Я хочу иметь возможность конвертировать html-форму в форму ExtJs. Я читал, что вы должны что-то сделать с applyTo, но не были уверены в том, что делать.

надеюсь, кто-то может мне помочь,

Ура

2 ответов


Если вы хотите преобразовать каждый элемент в форме в элемент ExtJS, кто-то на Сенча форумов опубликовал решение (которое я буду размещать здесь):

function convertForm(formId) {
    var frm = new Ext.form.BasicForm(formId);
    //frm.render();

    var fields = frm.getValues()

    for (key in fields) {

        var elem = Ext.get(key);
        if (elem && elem.hasClass('combo-box')) {
            var cb = new Ext.form.ComboBox({
                transform: elem.dom.name,
                typeAhead: true,
                triggerAction: 'all',
                width: elem.getWidth(),
                forceSelection: true
            });
        }
        else 
            if (elem && elem.hasClass('date-picker')) {
                var df = new Ext.form.DateField({
                    format: 'm/d/Y'
                });
                df.applyTo(elem.dom.name);
            }

        if (elem && elem.hasClass('resizeable')) {
            var dwrapped = new Ext.Resizable(elem, {
                wrap: true,
                pinned: true,
                width: 400,
                height: 150,
                minWidth: 200,
                minHeight: 50,
                dynamic: true
            });
        }
    }
}

кроме того, кто заинтересован, кнопки также могут быть преобразованы:

 var objArray = Ext.DomQuery.select("input[type=button]");      
 Ext.each(objArray, function(obj) {      
     var btn = new Ext.Button({      
         text : obj.value,      
         applyTo : obj,      
         handler : obj.onclick,      
         type : obj.type      
     });      
     btn.getEl().replace(Ext.get(obj));      
 });   

информация найдена здесь (не на английском, к сожалению).