2011-02-25 124 views
6

我希望能够将html格式转换为ExtJs格式。我读过,你必须用applyTo做些事情,但不知道该怎么做。ExtJS:将html格式转换为ExtJS

我希望有人能为我提供一些帮助,

干杯

+0

您是否希望这种转换在飞行中发生? – NT3RP 2011-03-04 13:47:45

回答

5

如果你想每一个元素的形式转换为一个ExtJS元素,有人在Sencha forums发布了一个解决方案(我将交叉张贴在这里):

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

感谢您为我找到这个! – neolaser 2011-03-06 22:23:12

0

此外,谁是有兴趣,按键可转换得:

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

信息被发现here(不是英文,对不起)。