我正在关注senchaTouch
教程。我有一个名为HelloWorld.php
的Web服务,位于URL http://mydomainTest.com/Proj/HelloWorld.php
中。它需要3个值,name
,email
和description
。
网络服务使用POST
方法。
我的代码如下;我想知道的是,我没有指定键的值(POST
值键)以及Web服务如何知道,为键保存的内容(name,email, description
)
创建native iPhone apps
时,我会说setPostValue: forKey:
(在ASIHttpRequest
中),我需要知道的是如何为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();
}
}
]
}
]
}
} );
答案 0 :(得分:1)
按照以下步骤操作: -
var values = Ext.getCmp('contactForm').getValues()
获取所有表单值,其中contactForm是此formpanel的id
。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);
}
});
}
}
]
}
]
}
} );