2012-09-06 128 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' 
} 
]