2017-03-02 91 views
2

我有ExtJS的現代工具包的形式組件中的問題。 我創建了一個沒有按鈕的窗體(可以在sencha小提琴中測試它)。唯一的按鈕在標題欄中,並且此刻不工作。防止頁面重載進入ExtJS的

的問題是:在按下回車鍵提交表單。我的形式是空的,默認的方法是POST,但是當我按下Enter鍵,而重點是在瀏覽器中補充表單字段名稱我的任何領域的... URL地址字符串我的頁面重新加載,但形式的方法是POST

Ext.create('Ext.form.Panel', { 
    renderTo: Ext.getBody(), 
    requires: [ 
     'Ext.form.FieldSet', 
     'Ext.field.Text', 
     'Ext.field.TextArea', 
     'Ext.TitleBar' 
    ], 

    items: [{ 
     xtype: 'titlebar', 
     docked: 'top', 
     title: 'Searching', 
     items: [{ 
      iconCls: 'fa fa-search', 
      iconAlign: 'right', 
      text: 'Search', 
      align: 'right', 
      handler: function() { 
       // 
      } 
     }] 
    }, { 
     xtype: 'fieldset', 
     border: false, 
     shadow: 'true', 
     defaults: { 
      value: '' 
     }, 
     items: [ 
      { 
       xtype: 'numberfield', 
       label: 'Some ID', 
       allowBlank: true, 
       name: 'id' 
      }, 
      { 
       xtype: 'textfield', 
       label: 'Some Article', 
       name: 'article' 
      } 
     ] 
    }] 
}); 

如何防止刷新頁面?我從來沒有見過在ExtJS的窗體的默認這種行爲......

+0

一個ExtJS形式不應該像這樣行事。當然,問題不在你提供的代碼中。它看起來沒問題。 'handler'函數是什麼樣的?你能提供一個鏈接到小提琴嗎? –

+0

另一點:你說表單提交方法是POST。你的代碼不會顯示這個,而ExtJs中的默認提交是通過ajax。 –

+0

@LorenzMeyer確定https://fiddle.sencha.com/#fiddle/1rf2 - 只需將焦點設置爲文本框並按下回車即可。我認爲頁面不應該被重新加載......對嗎? –

回答

2

只需更換id別的東西可以在字段名Id,它與分機id屬性相沖突

{ 
    xtype: 'numberfield', 
    label: 'Some ID', 
    allowBlank: true, 
    name: 'Id' 
},