2015-07-30 4 views
0

У меня есть сетка и она содержит кнопку . При нажатии кнопки появляется надпись формы. Но я постоянно получаю эту ошибку. ПОЛУЧИТЬ http://localhost:8080/extServlet/MyApp/widget/student-form.js?_dc=1438244873178 404 (Not Found)Нахождение трудности при загрузке формы нажатием кнопки

Вот мой List.js файл, который содержит сетку

Ext.define('MyApp.view.main.List', { 
extend: 'Ext.grid.Panel', 
xtype: 'mainlist', 

require: [ 'MyApp.view.student.StudentForm' ], 
title: 'Student Records', 
scrollable: true, 
margin: 20, 
layout: { 
    type: 'vbox', 
    align: 'stretch' 
}, 

reference: 'studentGrid', 
frame: true, 
collapsible: true, 
store: 'StudentStore', 
collapsible: true, 
columns: [ 
    { 
     text: 'Name', 
     dataIndex: 'name', 
     flex: 1 
    }, 

    { 
     text: 'Address', 
     dataIndex: 'address', 
     flex: 1 
    }, 
    { 
     text: 'Phone', 
     dataIndex: 'phone', 
     flex: 1 
    }, 
    { 
     text: 'Email', 
     dataIndex: 'email', 
     flex: 1 
    }, 
    { 
     text: 'Faculty', 
     dataIndex:'faculty', 
     flex: 1 
    } 
], 

dockedItems: [ 
    { 
     xtype: 'toolbar', 
     dock: 'top', 
     items: [ 
      { 
       xtype: 'button', 
       text: 'Add', 
       iconCls: 'fa fa-plus', 
       listeners: { 
       click: 'onAdd' 
      } 
      }, 
      { 
       xtype: 'button', 
       text: 'Edit', 
       iconCls: 'fa fa-edit', 
       listeners: { 
        click: 'onEdit' 
       } 
      }, 
      { 
       xtype: 'button', 
       text: 'Delete', 
       iconCls: 'fa fa-trash-o', 
       listeners: { 
        click: 'onDelete' 
       } 
      }] 
     } 
    ] 
}); 

А вот контроллер

onAdd: function(button, e, options) 
{ 
    this.createDialog(null); 
}, 

createDialog: function(record) 
{ 
    var me = this, 
     view = me.getView(); 
    debugger; 
    me.dialog = view.add({ 
     xtype: 'student-form' 
    }) 
    me.dialog.show(); 
} 

И Херес Студенческой форму

Ext.define('MyApp.view.student.StudentForm', { 
extend: 'Ext.window.Window', 
alias: 'widget.student-form', 

height: 270, 
width: 400, 
layout: { 
    type: 'fit' 
}, 

title: 'Add Student', 
closable: false, 
modal: true, 
items: [{ 
    xtype: 'form', 
    reference: 'form', 
    bodyPadding: 5, 
    modelValidation : true, 
    layout: { 
     type: 'vbox', 
     align: 'stretch' 
    }, 
    items: [{ 
     xtype: 'fieldset', 
     flex: 1, 
     title: 'Student Information', 
     layout: 'anchor', 
     defaultType: 'textfield', 
     defaults: { 
      anchor: '100%', 
      msgTarget: 'side', 
      labelWidth: '75' 
     }, 
     items: [ 
      { 
       xtype: 'hiddenfield', 
       name: 'id', 
       fieldLabel: 'Label' 
      }, 
      { 
       fieldLabel: 'Name' 
      }, 
      { 
       fieldLabel: 'Address' 
      }, 
      { 
       fieldLabel: 'Phone' 
      }, 
      { 
       fieldLabel: 'Email' 
      }, 
      { 
       xtype: 'combo', 
       fieldLabel: 'Faculty', 
       displayField: 'name', 
       valueField: 'id', 
       queryMode: 'local', 
       forceSelection: true, 
       editable: false, 
       name: 'faculty-id', 
      } 
     ], 
     dockedItems: [ 
     { 
      xtype: 'toolbar', 
      dock: 'bottom', 
      layout: { 
       pack: 'end', 
       type: 'hbox' 
      }, 
      items: [ 
       { 
        xtype: 'button', 
        text: 'Save', 
        iconCls: 'fa fa-check', 
        listeners: { 
         click: 'onSave' 
        } 
       }, 
       { 
        xtype: 'button', 
        text: 'Cancel', 
        iconCls: 'fa fa-times', 
        listeners: { 
         click: 'onCancel' 
        } 
       } 
      ] 
     }] 
    }] 
}] 
}); 

Итак, как я могу загрузить форму Студента в качестве всплывающего окна. Любое предложение?

Heres список ошибок:

GET http://localhost:8080/extServlet/MyApp/widget/student-form.js?_dc=1438247043981 404 (Not Found)

Uncaught Ошибка: [Ext.create] Непризнанные имя класса/псевдоним: widget.student-форма

[E] [Ext.Loader] Некоторым запрошенным файлам не удалось загрузить.

ответ

0

В изменении способа вашего контроллера от:

createDialog: function(record) 
{ 
    var me = this, 
     view = me.getView(); 
    debugger; 
    me.dialog = view.add({ 
     xtype: 'student-form' 
    }) 
    me.dialog.show(); 
} 

Для:

createDialog: function(record) 
{ 
    Ext.createWidget('student-form'); 
} 
+0

до сих пор получаю эти ошибки: GET HTTP: // локальный: 8080/extServlet/MyApp/виджет/студент-формы. js? _dc = 1438247043981 404 (не найдено) – user3127109

+0

Не могли бы вы добавить эту ошибку? Я не вижу его –

+0

У вас есть структура каталога 'view.student' в вашем проекте? –

Смежные вопросы