У меня есть пользовательская форма редактирования. Форма загружается из магазина Json с помощью этого кода:Форма не отправлена
var store = Ext.create('cp.store.form.Paciente',{});
store.load({params:{idUsuario: idPaciente}});
var form = Ext.create('cp.view.form.EditPaciente',{
action: 'bin/paciente/modificar.php'
});
// note: write this lines in the controller
form.on('afterrender',function(form,idPaciente){
form.getForm().loadRecord(store.first());
form.getForm().findField('idUsuario').setValue(idPaciente);
});
var win = Ext.create('cp.view.ui.DecoratorForm',{
aTitle: 'Editar paciente',
aForm: form
});
win.show();
Код загрузки работает нормально. Код отправки:
var me = this;
console.log('Submit...');
console.log(this.url);
// WHY NOT SUBMIT !!!!
this.getForm().submit({
console.log('submit !');
success: function(form,action){
if(action.result.success === true){
Ext.create('cp.view.ui.AlertOk',{mensaje:action.result.msg}).showDialog();
me.up('decoratorForm').close();
}else{
Ext.create('cp.view.ui.AlertErr',{mensaje:action.result.msg}).showDialog();
}
}
});
Итак, код отправки начинает работать. FireBug показывает первый и второй «console.log», и значение «this.url» верное. Но, третий «console.log» не выполняется, и форма не отправляется на сервер. Ошибка Firebug 404 для значения «this.url». Любые идеи? Спасибо!
Добавьте определение формы:
Ext.define('cp.view.form.EditPaciente',{
extend: 'Ext.form.Panel',
alias: 'widget.editPaciente',
bodyPadding: '5px 5px 5px 5px',
bodyStyle: 'border: none',
fieldDefaults: {
labelWidth: 65,
labelAlign: 'top'
},
initComponent: function(){
this.url = this.action,
this.method = 'POST',
this.items = [ .... ]
this.callParent(arguments);
}
});
Работает ли URL-адрес при доступе к нему за пределами этого сценария? 404 - это 404 ... Кроме того, третий консоль.log() не работает, я подозреваю, потому что вы поместили его в синтаксически неправильное место. Аргумент параметров, переданный submit(), является объектом. – existdissolve
@existdisslove mmm скрипт на стороне сервера работает за пределами приложения. Доступ с URL: http: //sigetumed.cp/bin/paciente/modificar.php и показать на экране: «{'success': false, 'msg': 'Faltan llenar campos obligatorios'}". Хороший. Ниже опубликовано мое определение формы. – ramiromd
вы должны проверить 'submitUrl' вашей формы, проблема там. И также вы уверены, что форма имеет свойство, подобное 'url'; Я так не думаю. Еще раз проверьте [API] (http://docs.sencha.com/extjs/4.2.1/#!/api/Ext.form.Panel). – talha06