Extjs组合在IE7中不起作用

时间:2012-01-13 05:54:14

标签: javascript com

Ext js combo在IE7中不起作用。我需要这个组合行为,如文本框与虚拟组合(如谷歌搜索)。它在IE9和FF中工作,但在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的警报。这意味着它不会采用已键入的值。请帮忙。

1 个答案:

答案 0 :(得分:2)

我之前在IE上遇到过这样的问题:在数组的最后一个元素后面有一个额外的逗号:

items:[{

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