2012-01-13 3 views
1

Ext js combo не работает в IE7. Мне нужен этот комбинированный акт, как текстовое поле с виртуальным комбо (например, google search). Он работает в IE9 и FF, но не в IE7Extjs комбо не работает в IE7

Это мой код:

SearchIncidentForm=new Ext.FormPanel ({ 

     border:false, 
     renderTo:'searchIncidentDiv', 
     id: 'searchIncidentForm',  
     items : [{ 
      xtype:'panel', 
      id :'panelsearchIncident', 
      layout:'column', 
      defaults:{ 
        columnWidth:0.50, 
       labelAlign : 'top', 
       layout:'form', 
       border:false, 
       bodyStyle:'margin-top:5px; ' 
      }, 
      border:false, 
      items : [{  
       defaults:{anchor:'100%'}, 
        items:[{ 
         id : "incidentId", 
         fieldLabel : 'Incident Id', 
         labelStyle: 'color: #6C6C6C;width:85px;padding-top:7px;height: 22px;', 
         xtype : 'combo', 
         store:incidentStores, 
         //style: 'width:85px;height: 18px;', 
         width:100, 
         allowBlank : false, 
         labelAlign: 'top', 
         displayField : 'incidentId', 
         valueField : 'incidentId', 
         selectOnFocus : true, 
         typeAhead : false, 
         mode : 'remote', 
         triggerAction : 'all', 
         editable: true, 
         msgTarget:'qtip', 
         listAlign : 'tl-bl?', 
         //anchor : '80%', 
         minChars : 1, 
         hideTrigger:true, 
         hiddenName: 'incidentId', 
         listWidth:100, 
         listHeight:50, 

         submittValue:true, 
         listeners : { 
          specialkey : function(field, e){ 
           var key=e.getKey(); 
           if (key==e.ENTER) { 
            incidentSearchButtonHandler(); 
           } 
          }, 

          beforequery : function(){ 
          var val=Ext.getCmp('incidentId').getValue(); 
           if(isNaN(this.getEl().dom.value)){ 
            Ext.Msg.alert("","Please type numeric value"); 
           } 
           else{ 
            Ext.getCmp('incidentId').getStore().proxy.setUrl('getIncidentId.html?&query='+this.getEl().dom.value); 

           } 
          } 
         } 

        }] 
       },{ 

        items:[{ 
         xtype : 'button', 
         text : 'Search', 
         style: 'margin-top:19px;margin-left:20px;width:50px;',     
         width: 35, 
         height:15, 
         handler : incidentSearchButtonHandler 
        }] 
       }] 
     }] 
    }); 
} 

, но это не работает в IE. Когда я нажимаю кнопку «Поиск», появляется предупреждение о том, что please type Id. Это означает, что он не принимает значение, которое было напечатано. Пожалуйста помоги.

+0

Вы собираетесь нужно делить больше коды. При каких условиях появляется предупреждение? Где кнопка отправки? Что именно должно произойти? –

+0

есть дополнительная запятая в массиве в конце – sissonb

+0

@Adam Rackis, то есть не дополнительные ком есть код, который isbeforequery: функция() {\t \t \t \t \t \t \t вара Val = Ext.getCmp ('incidentId «) .getValue(); \t \t \t \t \t \t \t \t если (IsNaN (this.getEl(). Dom.value)) { \t \t \t \t \t \t \t \t \t Ext.Msg.alert ("", "Пожалуйста, введите числовое значение"); \t \t \t \t \t \t \t \t} \t \t \t \t \t \t \t \t еще { \t \t \t \t \t \t \t \t \t Ext.getCmp ('incidentId'). GetStore(). Proxy.setUrl ('getIncidentId ? .html & запроса = '+ this.getEl() dom.value). \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t} \t \t \t \t \t \t \t} –

ответ

2

Я был укушен это раньше с IE: у вас есть лишняя запятая после последнего элемента вашего массива:

items:[{ 

    submittValue:true, 
    listeners : { 
     specialkey : function(field, e){ 
      var key=e.getKey(); 
     if (key==e.ENTER) { 
      incidentSearchButtonHandler(); 
     } 
    }, // <------ Extra comma. Delete it. 
]} 
+0

эта проблема все еще там ... Просьба помочь –

+0

не экстра запятая –