Прием данных с сервера в EXT JS
У меня такой вопрос! Есть форма
var tab2 = new Ext.FormPanel({
labelAlign: 'top',
title: '',
bodyStyle:'padding:5px',
height: getClientHeight() - 270,
width: getClientWidth() - 25,
x: 5,
y: 30,
frame: true,
items: [{
xtype:'tabpanel',
plain:true,
activeTab: 0,
height:250,
defaults:{bodyStyle:'padding:10px'},
items:[{
title:'Персональные данные клиента',
layout:'form',
defaults: {width: 230},
defaultType: 'textfield',
items: [{
fieldLabel: 'ФИО клиента',
name: 'fio',
value: ''
},{
fieldLabel: 'Адрес клиента',
name: 'adress',
value: ''
},{
fieldLabel: 'Счет в организации',
name: 'schet',
value: ''
},
{
xtype: 'button',
text: 'Загрузить',
width: 100,
handler: function()
{
tab2.getForm().submit({
method: 'GET',
waitMsg: 'Подождите идет отправка данных...',
waitTitle: 'Соединение с сервером...',
url:'test.php?schet'+ tab2.getForm().findField('schet').getValue(),
success: function()
{
// Как вставить в поля адреса и ФИО данные которые присылает сервер
},
failure:function()
{
Ext.Msg.alert('Аутентификация пользователя','Вы ввели неправельный логин или пароль!.');
loginForm.getForm().reset();
}
});
}
}]
},{
title:'Phone Numbers',
layout:'form',
defaults: {width: 230},
defaultType: 'textfield',
items: [{
fieldLabel: 'Home',
name: 'home',
value: '(888) 555-1212'
},{
fieldLabel: 'Business',
name: 'business'
},{
fieldLabel: 'Mobile',
name: 'mobile'
},{
fieldLabel: 'Fax',
name: 'fax'
}]
},{
cls:'x-plain',
title:'Biography',
layout:'fit',
items: {
xtype:'htmleditor',
id:'bio2',
fieldLabel:'Biography'
}
}]
}],
buttons: [{
text: 'Сохранить'
},{
text: 'Отмена',
}]
});
и серверная часть
$schet = $_GET['schet'];
$link = mysql_connect("localhost","root","");
mysql_select_db("extjs");
$rs = mysql_query("SELECT nstreet as adress, fio FROM misto where nnj = '$schet';");
$arr = array();
while($obj = mysql_fetch_object($rs)) {
$arr[] = $obj;
}
if(mysql_num_rows($rs)>0)
{
echo '{success: true, data:'.json_encode($arr).'}';
}
else
{
echo "{success: false}";
}
mysql_close($link);
Вопрос? Как вставить в поля адреса и ФИО данные которые присылает сервер Если кто-то поможет буду благодарен!!!!! |
У кажодого компонента в конфиге можно задать поле 'ref', при помощи которого можно потом добратся до этого компонента. Почитай в документации, там довольно доступно описано.
|
Извините,у меня та же проблема.Может ві уже в курсе,как данные из сервера отобразить в ячейках,поделитесь и со мной.Спасибо.
|
И у меня такая же проблема )
|
для
fieldLabel: 'ФИО клиента', добавь id:'fio' потом в success добавь ещё два параметра success(form, action) т.е. эта функция принимает два параметра от сервера. Потом делаешь так Ext.getCmp('fio').setValue(action.result.data.fio) или Ext.getCmp('fio').setValue(action.data.fio) надо проверить точно не помню. А можно и без ID, на основе name. tab2.find('name', 'fio')[0].setValue(action.result.data.fio); |
Цитата:
Ext.Ajax.request({
//...
success: function(response){
result = Ext.decode(response.responseText);
Ext.getCmp('айди_формы_адреса').setValue(result.adress);
Ext.getCmp('айди_формы_фио').setValue(result.fio);
},
failure: function(response){
//...
}
});
|
Кто-нибудь может привести простой пример кода ExtJS, как в поле формы установить значение, взятое с БД сервера ?
|
|
Цитата:
|
Цитата:
Ext.getCmp('айди_формы_адреса')
это наиужаснейший вариант, учитывая новые возможности ExtJS 4. |
| Часовой пояс GMT +3, время: 09:08. |