form submit ExtJS 4
Здравствуйте!
Недавно начал разбираться с ExtJS, но никак не получается отправить данные из формы скрипту. Подскажите, пожалуйста, что не так или дайте ссылку на рабочий пример js и php.
var form = Ext.widget('form', {
... код инициализации ....
buttons: [{
text: 'Cancel',
handler: function() {
this.up('form').getForm().reset();
this.up('window').hide();
}
}, {
text: 'Send',
name: 'submit',
handler: function() {
if (this.up('form').getForm().isValid()) {
alert('valid');
this.up('form').getForm().submit({
url: 'users_submit.php',
success: function(form, action){
Ext.Msg.alert('Success', 'It worked');
},
failure: function(form, action){
Ext.Msg.alert('Warning', 'Error');
}
});
this.up('form').getForm().reset();
this.up('window').hide();
}
}
}]
такое ощущение, что php код вообще не вызывается... Заранее спасибо! |
1. url можно поставить и для самой формы:
var form = Ext.create('Ext.form.Panel', { frame: true, url: './users_submit.php', ................. 2. Если уже создана переменная form - то можно написать так: form.getForm().submit( вместо: this.up('form').getForm().submit( 3. Ну и наконец о самой возможной ошибке... в самом файле php. Посмотрите через firebug - отправляется ли запрос, и приходит ли какой то ответ? возможно что выпадет ошибка javascript'а связанная с json (точно как выглядит ошибка не помню) PHP должен возвращать например такое: echo '{success: true, rows:'.json_encode($some_array).'}'; где "success: true" - скажет что скрипт выполнен успешно, rows:'.json_encode($some_array)." - сами данные. В принципе достаточно будет отправить только echo '{success: true}'; P.S. Надеюсь что хоть чем то помогу, сам недавно начал разбираться с ext. Пример ajax подгрузки данных можно найти, например, в самой папке ext: ext\examples\tree\reorder.js |
| Часовой пояс GMT +3, время: 13:33. |