Прием данных с сервера в 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, время: 16:02. |