в следующем примере, когда мы нажимаем кнопку, все данные формы (как KEY-VALUE
) будут переданы в файл php, который будет сохранен в базе данных. Захват KEY-VALUE
делается по заявлению var form = this.up('form').getForm();
.Сохранение значений в базе данных - логическая ошибка
ОБНОВЛЕНИЕ 3
Ext.define ('Mycomp.model.MyClass',{
extend: 'Ext.data.Model',
fields:['textfieldone']
});
=================================== =====================================
ОБНОВЛЕНИЕ 2
При пользователь нажимает кнопку, я показываю View, у которого есть одно текстовое поле и кнопка (как показано в следующем коде). Пользователь будет ввести несколько значений и нажмите на кнопку, и значение, введенное пользователем в текстовом поле должны быть сохранены в БД (Store
имеет ссылку на путь кода PHP)
CONTROLLER
Ext.define('Mycomp.controller.MyClass',{
extend: 'Ext.app.Controller',
stores:['MyClass'],
models:['MyClass'],
views:['MyClassView'],
init: function(){
this.control({
'myclassview button[action=save]': {
click: this.myMethod
}
});
},
myMethod: function(button,record) {
var win = button.up('window'),
form = win.down('form'),
record = form.getForm().getRecord(),
values = form.getForm().getValues();
console.log (values);
console.log (record);
record.getRecord().set(values);
win.close();
this.this.getMyClassStore().sync();
}
});
VIEW
Ext.define('Mycomp.view.user.MyClassView', {
extend: 'Ext.window.Window',
alias: 'widget.myclassview',
initComponent: function() {
this.items = [
{
xtype: 'form',
items: [
{
xtype: 'textfield',
name : 'textfieldone',
fieldLabel: 'Contact Person Name'
}
]
}
];
this.buttons = [
{
text: 'Save',
name:'save',
action: 'save'
}
];
this.callParent(arguments);
}
});
STORE
Ext.define('Mycomp.store.Myclass',{
extend:'Ext.data.Store',
model:'App.model.Myclass',
proxy: {
actionMethods : {
create : 'POST'
},
type: 'ajax',
url : '/savetodb.php'
}
});
=========== ================================================== ==================
ОБНОВЛЕНИЕ 1
.... this.buttons = [
{
text: 'Save',
action: 'save'
}, ...
МАГАЗИНА
Ext.define('Mycomp.store.Myclass',{
extend:'Ext.data.Store',
model:'App.model.Myclass',
proxy: {
actionMethods : {
create : 'POST'
},
type: 'ajax',
url : '/savetodb.php'
}
});
CONTAROLLER
Firebug OUT PUT >> Он говорит, что ЗАПИСЬ НЕ УКАЗАНА. Почему это ?
undefined
Object { textfileldone="hello", textfileldtwo="bever", more...}
record is undefined
[Break On This Error]
record.set(values);
Почему этот голос проголосовали, даже без комментариев – Illep
является частью 'textfieldone' вашей модели? – Izhaki
'textfieldone' является частью Model, а также в MySQL db я назвал столбец как' textfieldone', а также в View i есть текстовое поле с именем 'textfieldone'. – Illep