You found a bug! We've classified it as EXTJS-7285 . We encourage you to continue the discussion and to find an acceptable workaround while we work on a permanent fix.
  1. #1
    Sencha Premium Member
    Join Date
    Jul 2011
    Posts
    119
    Vote Rating
    4
    john76543 is an unknown quantity at this point

      0  

    Default Backspace in alert dialog

    Backspace in alert dialog


    Noticed that if you press backspace while a alert dialog is open, the browser goes back to the previous page!! At least in Chrome.

    Try it in the demo:
    http://dev.sencha.com/deploy/ext-4.1...x/msg-box.html

    Click on the alert, then press backspace on your keyboard.

    Is there a way to stop this? ExtJS 4.1.1, Chrome 21.

  2. #2
    Sencha - Support Team scottmartin's Avatar
    Join Date
    Jul 2010
    Location
    Houston, Tx
    Posts
    8,917
    Vote Rating
    443
    scottmartin has a brilliant future scottmartin has a brilliant future scottmartin has a brilliant future scottmartin has a brilliant future scottmartin has a brilliant future scottmartin has a brilliant future scottmartin has a brilliant future scottmartin has a brilliant future scottmartin has a brilliant future scottmartin has a brilliant future scottmartin has a brilliant future

      0  

    Default


    I do not see this behavior. Tested with 4.1.1, 4.1.2.

    No action on backspace key.

    Scott

  3. #3
    Sencha Premium Member
    Join Date
    Jul 2011
    Posts
    119
    Vote Rating
    4
    john76543 is an unknown quantity at this point

      0  

    Default


    Did you use that link? Because the forum opens it in a different window, there is nowhere to go back to. Try:

    Open a new browser
    go to some address
    Paste in the hyperlink I provided
    Click 'Alert'
    Press backspace.

    I see it on Chrome 21, on 2 PC's. Windows 7

  4. #4
    Sencha - Support Team scottmartin's Avatar
    Join Date
    Jul 2010
    Location
    Houston, Tx
    Posts
    8,917
    Vote Rating
    443
    scottmartin has a brilliant future scottmartin has a brilliant future scottmartin has a brilliant future scottmartin has a brilliant future scottmartin has a brilliant future scottmartin has a brilliant future scottmartin has a brilliant future scottmartin has a brilliant future scottmartin has a brilliant future scottmartin has a brilliant future scottmartin has a brilliant future

      0  

    Default


    OK.. it happens in Windows and Mac, but not Linux. Just change your OS

    I will have a look.

    Thanks.

  5. #5
    Sencha Premium Member
    Join Date
    Jul 2011
    Posts
    119
    Vote Rating
    4
    john76543 is an unknown quantity at this point

      0  

    Default


    Ah glad it's reproducible. It's potentially quiet serious, loosing unsaved forms etc..!

    Thanks

  6. #6
    Sencha - Support Team scottmartin's Avatar
    Join Date
    Jul 2010
    Location
    Houston, Tx
    Posts
    8,917
    Vote Rating
    443
    scottmartin has a brilliant future scottmartin has a brilliant future scottmartin has a brilliant future scottmartin has a brilliant future scottmartin has a brilliant future scottmartin has a brilliant future scottmartin has a brilliant future scottmartin has a brilliant future scottmartin has a brilliant future scottmartin has a brilliant future scottmartin has a brilliant future

      0  

    Default


    Thanks for the report! I have opened a bug in our bug tracker.

    Scott

  7. #7
    Ext JS Premium Member
    Join Date
    Jun 2011
    Location
    St. Louis
    Posts
    212
    Vote Rating
    9
    jimmylu98 will become famous soon enough

      0  

    Default


    This is a very serious bug. With extjs 3.x.x, I use following code to prevent this.
    I couldn't find any way to prevent this with extjs 4.x.x since Ext.getCmp( t.id ) is not working with 4.x.x any more. I don't think we can release any product without this bug fixed.

    PHP Code:

            Ext
    .getBody().on('keydown'this._setBackSpacethis);

        
    _setBackSpace: function(et) {
                    if(
    e.getKey() === e.BACKSPACE) {
                var 
    Ext.getCmpt.id );
                var 
    ckBackspace true;
                if( 
    && c.xtype ) {
                    if( 
    c.xtype == 'textfield' || c.xtype == 'numberfield' || c.xtype == 'textarea' || c.xtype == 'htmleditor' ||  
                        ( 
    c.xtype == 'combo' && c.editable == true ) ) 
                        if( 
    c.readOnly != true && c.disabled != true ckBackspace false;
                }

                if( 
    ckBackspace ) {
                            
    e.stopEvent();
                               return 
    false;
                }
                    }
            }, 

  8. #8
    Sencha Premium Member
    Join Date
    Jul 2011
    Posts
    119
    Vote Rating
    4
    john76543 is an unknown quantity at this point

      0  

    Default


    Sencha, any chance of a work-around? It is potentially serious, and can result in data loss for my clients

  9. #9
    Ext JS Premium Member
    Join Date
    Jun 2011
    Location
    St. Louis
    Posts
    212
    Vote Rating
    9
    jimmylu98 will become famous soon enough

      1  

    Default


    Spent a bit time, below is the code to prevent the chrome backspace problem. The work-around may not be the best, but it works for me.

    I have reported this bug for extjs 3.x.x and Sencha never fix it. http://www.sencha.com/forum/showthre...is-not-working

    And I tried to fix this same bug for extjs 4.0.x more than a year ago, and just spent lots of time, did not get any valuable response. Very disappoint about the supports.

    http://www.sencha.com/forum/showthre...is-not-working

    PHP Code:

    Ext
    .onReady( function() {
            
    Ext.getBody().on('keydown'this._setBackSpacethis);
            
    //....... // your owner code here
    });


        
    _setBackSpace: function(et) {
                    if(
    e.getKey() === e.BACKSPACE) {
                var 
    ckBackspace truec;
                if( 
    t.tagName == 'INPUT' ) {
                    
    Ext.ComponentManager.each(function(keyitem) {
                        if( 
    item.inputId && item.inputId == t.id item;
                    });
                    if( 
    && c.xtype && c.readOnly != true && c.disabled != true) {
                        if( 
    c.xtype == 'textfield' || ( c.xtype == 'combo' && c.editable == true ) || c.xtype == 'numberfield' || 
                            
    c.xtype == 'textarea' || c.xtype == 'htmleditor' ckBackspace false;
                    }
                }
                if( 
    ckBackspace ) {
                            
    e.stopEvent();
                               return 
    false;
                }
                    }
            } 

  10. #10
    Sencha Premium Member
    Join Date
    Jul 2011
    Posts
    119
    Vote Rating
    4
    john76543 is an unknown quantity at this point

      0  

    Default


    Quote Originally Posted by jimmylu98 View Post
    Spent a bit time, below is the code to prevent the chrome backspace problem. The work-around may not be the best, but it works for me.
    That's great Jimmy, thanks a lot!

Thread Participants: 2

Turkiyenin en sevilen filmlerinin yer aldigi xnxx internet sitemiz olan ve porn sex tarzi bir site olan mobil porno izle sitemiz gercekten dillere destan bir durumda herkesin sevdigi bir site olarak tarihe gececege benziyor. Sitenin en belirgin ozelliklerinden birisi de Turkiyede gercekten kaliteli ve muntazam, duzenli porno izle siteleri olmamasidir. Bu yuzden iste. Ayrica en net goruntu kalitesine sahip adresinde yayinlanmaktadir. Mesela diğer sitelerimizden bahsedecek olursak, en iyi hd porno video arşivine sahip bir siteyiz. "The Best anal porn videos and slut anus, big asses movies set..." hd porno faketaxi