2012-09-06 43 views
0

出於某種原因,我的表單繼續執行GET操作,而不是將數據發佈到我配置的URL。Sencha Touch 2表單不提交

我的形式如下:

Ext.define('App.view.LoginFormPanel', { 
extend : 'Ext.form.Panel', 
xtype : 'loginForm', 
id : 'loginForm', 

config : { 
    title : 'Login', 
    iconCls : 'user', 
    ui : 'light', 
    items : [ 
      { 
       xtype : 'fieldset', 
       title : 'Login', 
       items : [ 
         { 
          xtype : 'textfield', 
          label : 'Login', 
          name : 'j_username', 
          required : true, 
          readOnly : false 
         }, { 
          xtype : 'passwordfield', 
          label : 'Password', 
          name : 'j_password', 
          required : true, 
          readOnly : false 
         } 
       ] 
      }, { 
       xtype : 'button', 
       ui : 'confirm', 
       text : 'Login', 
       action : 'login' 
      } 
    ] 
} 

}); 

我的控制器,提交形式如下:

...... 
    login : function() { 
    loginForm.submit({ 
     url : 'j_spring_security_check', 
     method : 'POST' 
    }); 
}, 
...... 

我試圖把URL和方法的形式太投入沒有運氣要麼:(

有人知道我做錯了嗎?

+0

你得到任何錯誤控制檯? –

+0

不..沒有錯誤。它只是提交表單,但做了一個GET而不是 – Tranquilized

回答

0

嘗試將standardSubmit設置爲true。默認情況下,Touch表單通過ajax GET方法提交,但standardSubmit將發送POST。請注意,參數將在http有效負載中編碼,而不是在url params中編碼。

乾杯,奧列格

+0

嗨Oleg,我試着將standardSubmit設置爲true,但不幸的是它仍然執行GET。你有什麼線索爲什麼這是? – Tranquilized

0

我的回答是爲那些誰有一個問題,提交與POST方法的表單。

如果你是新的煎茶,你有哪些是沒有提交表單,你可能跟着這個教程Building your first app

它有一個問題。表單項目必須有名稱,在示例中缺少。

項目看起來應該像下面這樣:

items: [ 
{ 
    xtype: 'textfield',        
    name: 'name', 
    label: 'Name' 
}, 
{ 
    xtype: 'emailfield', 
    name: 'email', 
    label: 'Email' 
}, 
{ 
    xtype: 'textareafield', 
    name: 'message', 
    label: 'Message' 
} 
]