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, время: 10:24. |