1

我正在关注一个senchaTouch教程。我有一个名为的 Web 服务HelloWorld.php,位于 URL 中http://mydomainTest.com/Proj/HelloWorld.php。它需要 3 个值nameemaildescription

Web 服务使用POST方法。

我的代码如下;我想知道的是我没有指定键的值(POST值键)以及网络服务如何知道,为键保存什么(name,email, description

在创建时native iPhone apps,我常说setPostValue: forKey:(in ASIHttpRequest),我需要知道的是如何为传入的值设置Key Sencha。我在下面附上了我的代码,请看看并帮助我。

Ext.define('GS.view.Contacts', {
    extend:'Ext.form.Panel', 
    xtype:'contactform',

        config:{
            title:'Contact',
            iconCls:'user',
            url:'http://mydomainTest.com/Proj/HelloWorld.php',

            items:[
                {
                    xtype:'fieldset',
                    title: 'Contact Us',
                    instructions: '(email is not required)',

                    items: [
                        {
                            xtype:'textfield',
                            name: 'name',
                            label:'Name'
                        },
                        {
                            xtype:'emailfield',
                            name:'email',
                            label:'Email'
                        },
                        {
                            xtype:'textareafield',
                            name:'message',
                            label:'Message'
                        }
                    ]
                },
                {
                items:[
                    {
                        xtype:'button',
                        text: 'Submit',
                        ui:'confirm',
                        handler: function(){
                            this.up('contactform').submit();
                        }
                    }
                ]
            }
            ]
        }





} );
4

1 回答 1

1

请按照以下步骤操作:-

  • var values = Ext.getCmp('contactForm').getValues()使用where contactForm is an idof this formpanel获取所有表单值。
  • 创建一个Ext.Ajax request并将 params 属性的值传递给values
  • 使用成功处理程序来验证请求是否成功。在控制台日志中打印响应文本

试试这个

 Ext.define('GS.view.Contacts', {
    extend:'Ext.form.Panel', 
    xtype:'contactform',
    id:'contactForm',
    config:{
            title:'Contact',
            iconCls:'user',
            items:[
                {
                    xtype:'fieldset',
                    title: 'Contact Us',
                    instructions: '(email is not required)',

                    items: [
                        {
                            xtype:'textfield',
                            name: 'name',
                            label:'Name'
                        },
                        {
                            xtype:'emailfield',
                            name:'email',
                            label:'Email'
                        },
                        {
                            xtype:'textareafield',
                            name:'message',
                            label:'Message'
                        }
                    ]
                },
                {
                items:[
                    {
                        xtype:'button',
                        text: 'Submit',
                        ui:'confirm',
                        handler: function(){
                          var values = Ext.getCmp('contactForm').getValues();
                          // prints the values filled in the form 
                          // text fields of name, email and message.     
                          console.log(values.name+","+values.email+","+values.message);                          


                          Ext.Ajax.request({
                            url: 'http://mydomainTest.com/Proj/HelloWorld.php',
                            params : values,
                            success: function(response){
                                var text = response.responseText;
                                Ext.Msg.alert('Success', text); 
                            }
                           });
                        }
                    }
                ]
            }
            ]
        }
  } );
于 2012-04-25T17:32:20.277 回答