• Ext JS4 学习笔记之发送表单(Form)时也将表单下的表格(Grid)数据一同发送的方法


    Ext JS4 学习笔记之发送表单(Form)时也将表单下的表格(Grid)数据一同发送的方法

            昨天在开发的时候遇到个小问题,就是如何将Grid的内容与Form一起发送到服务器端。默认情况下,表单(Form)里的表格(Grid)数据是不随表单一起发送的,这个时候就需要我们将表格里的数据做一下处理。有两种思路,第一种就是发送完Form以后用一个回调函数,再将Grid的数据取出来再发送,这样略嫌麻烦,还得考虑表单发送成功与否等问题;第二种就是讲Grid里的数据分别遍历出来,组成一个Json数据,放到表单里隐藏的一个域里,然后随表单一起发送出去。我采取的是第二种方法,详细代码如下:

             

     1 var myStore = Ext.getCmp('myGrid').getStore(); //取出列表的Store
     2         var myRecord= myStore.getRange(); //将Store里的所有record放到myRecord里
     3         var myJson = [];
     4         for(var i in myRecord){            //遍历所有的record,将其放置在对应的myJson数组里
     5             myJson .push({
     6                 'a': myRecord[i].get('a'),
     7                 'b': myRecord[i].get('b'),
     8                 'c': myRecord[i].get('c'),
     9                 'd': myRecord[i].get('d'),
    10                 'e': myRecord[i].get('e'),
    11                 ...................................
    12             });
    13         };
    14         Ext.getCmp('hiddenField').setValue(Ext.encode(myJson));//编译myJson数组为一个Json对象,并放置在id为‘hiddenField’的隐藏域里,注意隐藏域要放置在表单里。

           好了,这样再提交表单的时候,就会将表格(Grid)里的数据随着表单一起发送到服务器端,而且是以Json数据格式发送的。

    ---------------------------------------华丽的分割线--------------------------------------

      昨天在开发的时候遇到了同样的问题,但是这次是不用随表单一同发送的,而是单独发送出去grid的数据。其实在官方有推荐的方法,一同将数据发送过去到服务器端。这次呢,来一个笨方法,直接封装到json数据里,用一个ajax请求发送到服务器端即可。代码如下:

     1 Ext.Ajax.request({
     2      url: 'your_url' ,
     3      params: {
     4        id: this.id,
     5        jsonData: Ext.encode(myJson)/其中myJson即是上面封装好了的myJson数据
     6      },
     7      success: function(response){
     8           var text = response.responseText;
     9           alert(text);
    10      }
    11 });
  • 相关阅读:
    关于Linux 上建立生成/添加SSH公钥
    sql随机插入数据--记录
    centos 安装搜狗
    centos yum命令找不到包
    命令行改为图形界面
    CentOS7l联网
    .net mvc 框架实现后台管理系统 3
    .net mvc 框架实现后台管理系统 2
    .net mvc 框架实现后台管理系统
    爬取猫眼数据
  • 原文地址:https://www.cnblogs.com/front-Thinking/p/3532448.html
Copyright © 2020-2023  润新知