- Ext.onReady(function(){
- //表单开始------------------------------------------------------
- var form = new Ext.form.FormPanel({
- title: '编辑学生信息',
- renderTo: Ext.getBody(),
- region: 'east',
- frame: true,
- width: 300,
- autoHeight: true,
- labelAlign: 'right',
- labelWidth: 60,
- defaultType: 'textfield',
- defaults: {
- width: 200,
- allowBlank: false
- },
- items: [{
- xtype: 'hidden',
- name: 'id'
- },{
- fieldLabel: '学号',
- name: 'code'
- },{
- fieldLabel: '姓名',
- name: 'name'
- },{
- fieldLabel: '年龄',
- name: 'age',
- xtype: 'numberfield',
- allowNegative: false
- },{
- fieldLabel: '性别',
- name: 'sexText',
- hiddenName: 'sex',
- xtype: 'combo',
- store: new Ext.data.SimpleStore({
- fields: ['value','text'],
- data: [['1','男'],['2','女']]
- }),
- emptyText: '请选择',
- mode: 'local',
- triggerAction: 'all',
- valueField: 'value',
- displayField: 'text'
- },{
- fieldLabel: '政治面貌',
- name: 'political',
- xtype: 'combo',
- store: new Ext.data.SimpleStore({
- fields: ['text'],
- data: [['群众'],['党员'],['团员']]
- }),
- emptyText: '请选择',
- mode: 'local',
- triggerAction: 'all',
- valueField: 'text',
- displayField: 'text'
- },{
- fieldLabel: '籍贯',
- name: 'origin'
- },{
- fieldLabel: '所属系',
- name: 'professional'
- }],
- buttons: [{
- text: '添加',
- handler: function() {
- if (!form.getForm().isValid()) {
- //调用form.getForm().isValid()进行数据校验。如果返回false,
- //说明表单中某些输入组件中的数据还无法通过校验,不应该提交这些错误格式的数据,
- //这时我们应该直接跳出函数,中止提交操作
- return;
- }
- if (form.getForm().findField("id").getValue() == "") {
- // 添加
- form.getForm().submit({
- //这里的form是我们前面创建的Ext.form.FormPanel,
- //它的getForm()函数返回Form- Panel内部对应的Ext.form.BasicForm。
- //现在我们调用BasicForm的submit()函数,将内部items中输入组件的值提交给后台的jsp/save.jsp
- url: 'save.jsp',
- success: function(f, action) {
- //如果后台没有出现异常,而且返回的JSON信息中包含{success:true},
- //那么就会执行success参数对应的处理函数
- if (action.result.success) {
- //创建一个Ext.Msg.alert()显示响应的JSON信息中的msg部分的内容,
- //在用户关闭alert提示框之后,执行方法
- Ext.Msg.alert('消息', action.result.msg,function(){
- grid.getStore().reload();//调用grid.getStore().reload()刷新Grid中的数据
- form.getForm().reset();//form.getForm().reset()清空上次提交的数据
- form.buttons[0].setText('添加');
- });
- }
- },
- failure: function() {
- //如果后台出现400或500错误,就会触发failure参数对应的处理函数。
- //这里只是弹出一个alert提示框告诉用户“添加失败”,
- //等待用户对刚才提交失败的信息进行修改或做其他处理
- Ext.Msg.alert('错误',"添加失败");
- }
- });
- } else {
- // 修改
- form.getForm().submit({
- url: 'save.jsp',
- success: function(f, action) {
- if (action.result.success) {
- Ext.Msg.alert('消息',action.result.msg,function(){
- grid.getStore().reload();
- form.getForm().reset();
- form.buttons[0].setText('添加');
- });
- }
- },
- failure: function() {
- Ext.Msg.alert('错误',"修改失败");
- }
- });
- }
- }
- },{
- text: '清空',
- handler:function(){
- form.getForm().reset();
- form.buttons[0].setText("添加");
- }
- },{
- text: '删除',
- handler:function(){
- var id = form.getForm().findField("id").getValue();
- if(id == ''){
- Ext.Msg.alert('提示','请选择需要删除的学生记录信息');
- } else {
- Ext.Ajax.request({
- url:'remove.jsp',
- params:"id="+id,
- success:function(){
- var json = Ext.decode(response.responseText);
- if(json.success){
- Ext.Msg.alert('消息',json.msg,function(){
- grid.getStore().reload();
- form.getForm().reset();
- form.buttons[0].setText("添加");
- }
- );
- }
- },
- failure:function(){
- Ext.Msg.alert('错误','删除失败');
- }
- });
- }
- }
- }]
- })//表单结束
- });