0
現在、Ext JS 3.1.0でEditorGridPanelを教えています。私は都市のリストを表示するグリッドを作成することができました。ただし、データベースに新しいレコードを追加しようとすると問題が発生します。私はボタンが何も起こりませんし、Firebugのがエラーを示して「都市追加」をクリックすると:EditorGridPanelに新しいレコードを追加できません
Uncaught ReferenceError: newCity is not defined
Ext.grid.EditorGridPanel.tbar.handlereg02.html: 96
Ext.Button.Ext.extend.onClickext-all-debug.js: 27083
h
をこれが私のコードです:
Ext.onReady(function(){
//===== Data Store ================================================== (2)
var store = new Ext.data.Store({
url: 'city_for_eg01.php',
reader: new Ext.data.JsonReader({
root:'rows',
id:'zip'
}, [
'zip',
'city'
]),
api: {
create : 'city_for_eg01.php?action=create',
read : 'city_for_eg01.php?action=read',
update: 'city_for_eg01.php?action=update',
destroy: 'city_for_eg01.php?action=destroy'
},
writer: new Ext.data.JsonWriter({
writeAllFields: true
}),
autoSave: false,
});
store.load();
//=================================================================== end (2)
var editor = new Ext.form.TextField();
var grid = new Ext.grid.EditorGridPanel({
renderTo: document.body,
frame:true,
title: 'City',
height:200,
width:520,
clickstoEdit: 1,
store: store,
columns: [
{header: "ZIP", dataIndex: 'zip', editor: editor},
{header: "CITY", dataIndex: 'city', editor: editor},
],
listeners: {
afteredit: function(e){e.record.commit();}
},
tbar: [{
text: 'Add City',
icon: 'images/table_add.png',
cls: 'x-btn-text-icon',
handler: function() {
Ext.Ajax.request({
url: 'city-update.php',
params: {
action: 'create',
zip: 'zip'
},
success: function(resp,opt) {
grid.getStore().insert(0,
new newCity{
zip: 'New Zip',
city: 'New City'
})
);
grid.startEditing(0,0);
},
failure: function(resp,opt) {
Ext.Msg.alert('Error','Unable to add city');
}
});
}
}]
});
});