2013-04-09 5 views
0

Я пытаюсь преобразовать свое приложение из 3.1 в 4.2 и, похоже, не может понять, что нужно изменить вместо «applyto». Я пробовал варианты renderto и contentel, но, похоже, не могу понять. С 4.2 ничего не происходит. Нет ошибок в поджигатель ...ExtJS 4.2 применить DateField для поля формы ввода

Ext 3.1 код, который работает

cust_datepicker = function(){ 
    var els=Ext.select("input.date-picker",true); 
    els.each(function(el) { 
     new Ext.form.DateField({ 
      applyto: el.id 
      ,format: 'Y-m-d' 
      ,altFormats: 'j|j/n|j/n/y|j/n/Y|j-M|j-M-y|j-M-Y' 
      ,editable: false 
      ,id : el.id 
     }); 
    } 
)}; 
Ext.onReady(function(){ 
    cust_datepicker(); 
}); 

HTML код:

<form action="xxx/xxx.cgi" method="GET"> 
<table><tr> 
<td><input name="startdate" class="date-picker"/></td> 
</tr></table> 
</form> 
+0

был ответ ниже полезным? – dbrin

ответ

0

Вот то, что работал для меня с ExtJS 4.2.0.

Решение состоит в том, чтобы создать форму, содержащую поле.

HTML:

<table> 
    <tr> 
    <td><div id="here"></div></td> 
    </tr> 
</table> 

Javascript:

var here = document.getElementById('here'); 
var my_form = Ext.create('Ext.form.Panel', { 
     renderTo: here, 
     width: 100, 
     bodyStyle: 'border: none; padding: 0px', 
     items: [{ 
      xtype: 'datefield', 
      fieldStyle: 'width: 76px;', 
      margin: false 
     }] 
    }); 
Смежные вопросы