2011-02-25 19 views
6

Quiero ser capaz de convertir un formulario html a un formulario ExtJs. He leído que tienes que hacer algo con applyTo, pero no estaba seguro de qué hacer.ExtJS: Convertir formulario html a ExtJS

espero que alguien me puede proporcionar un poco de ayuda,

Saludos

+0

¿Desea que esta conversión se realice sobre la marcha? – NT3RP

Respuesta

5

Si desea convertir todos los elementos de un formulario a un elemento de ExtJS, alguien en el Sencha forums ha publicado una solución (que yo quiero cross-post aquí):

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 
      }); 
     } 
    } 
} 
+0

¡Gracias por encontrar esto para mí! – neolaser

0

Además, que está interesado, los botones se pueden convertir también:

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));  
}); 

La información fue encontrada here (no en inglés, lo siento).