chsboy 2009-08-26 09:20
浏览 151
已采纳

一段奇怪的ext的代码,为啥参数不变那?

大家先看看代码:
[code="java"]
function playmessagemusic(name) {

    alert("warn.js dbnamedesc:"+name);
    var inputPageSize = 8;
    var cm = new Ext.grid.ColumnModel([new Ext.grid.RowNumberer(), {

        header : '节点',
        dataIndex : 'destionation',
        sortable : true
    },

    {

        header : '时间',
        dataIndex : 'time',
        sortable : true
    }]);


    var infostore = new Ext.data.Store({
        proxy : new Ext.data.HttpProxy({
            url : './warn.do?command=warn'
        }),

        reader : new Ext.data.JsonReader({
            totalProperty : 'messagetotalProperty',
            root : 'messageroot'
        }, [{
            name : 'destionation',
            mapping : 'destionation'
        }, {
            name : 'time',
            mapping : 'time'
        }

        ])
    });

    var infobbar = new Ext.PagingToolbar({
        pageSize : inputPageSize,
        store : infostore,
        displayInfo : true,
        displayMsg : '显示第{0}条到{1}条记录,一共{2}条',
        emptyMsg : '没有记录'
    });


    var grid = new Ext.grid.GridPanel({

        // el : 'grid',
        region : 'center',
        title : '报警详细信息',
        // height : 460,

        autoHeigt : true,
        trackMouseOver : false,
        loadMask : {
            msg : '正在加载数据,请稍后.....'
        },
        ds : infostore,
        cm : cm,

        sm : new Ext.grid.RowSelectionModel(),

        bbar : infobbar,
        viewConfig : {
            forceFit : true
        }

    });

    var panel = new Ext.TabPanel({
        activeTab : 0,// 当前标签为第1个tab(从0开始索引)
        border : false,
        // abelAlign : 'left',
        region : 'north',

        items : [{
            title : "报警音乐",
            html : '<div id="hotMessageShow"  height="100% style="padding:0px 0px 0px 0px;border:1px dashed #000000;text-align: left;color: red;font-size: 15px;">'
                    + musicObj
        }, {
            title : "报警规则",
            html : '<h>24小时内节点的首条未处理消息的时间已超过5分钟</h>'
        }],
        viewConfig : {
            forceFit : true
        }
    })
    var win = new Ext.Window({

        title : 'infoWindow',
        //id:   'warnwindows',
        closable : true,
        width : 560,
        height : 500,
        border : true,
        plain : true,
        draggable : true,
        collapsible : true,
        modal : true,
        closeAction : 'close',
        constrain : false,
        maximizable : true,
        layout : 'border',
        items : [panel, grid]
    })


    infostore.load({

        params : {
            start : 0,
            limit : inputPageSize,
            dbnamedesc : name

        }
    })
    var v = name + "消息报警"
    win.setTitle(v);
    win.show();

}

[/code]
我在另一段js中多次调用了方法playmessagemusic(name),调试显示每次参数name传入的值是不一样的,但方法里的[code="java"]var infostore = new Ext.data.Store({
proxy : new Ext.data.HttpProxy({
url : './warn.do?command=warn'
}),[/code]返回的结果都是一样得到的参数都是第一回传入的值,参数是通过[code="java"]infostore.load({

        params : {
            start : 0,
            limit : inputPageSize,
            dbnamedesc : name

        }
    })[/code]的dbnamedesc载入的,为啥会出现这种情况那

[b]问题补充:[/b]
to atian25:因为要监控多个数据库,要跳多个报警窗口出来
[b]问题补充:[/b]
to 各位:我用了baseParams还是不行一样的效果
[b]问题补充:[/b]
to atian25:看过了每次post的参数是一样的,firebug我是常开的
[b]问题补充:[/b]
to altian25:你是看的warn.do的post参数吗

  • 写回答

6条回答 默认 最新

  • iteye_10013 2009-08-26 11:53
    关注

    我本地测试了你的代码,如下.
    用firebug看,2次post的值是不同的.你用这段看看

    [code="java"]Ext.onReady(function(){
    Ext.BLANK_IMAGE_URL = '/images/s.gif';
    Ext.chart.Chart.CHART_URL = '/js/extjs/3.0/resources/charts.swf';
    Ext.QuickTips.init();
    //testChartLabel();
    var p = new Ext.Panel({
    title:'Test',
    height:300,
    width:600,
    renderTo:Ext.getBody(),
    buttons:[
    {text:'xx',handler:function(){playmessagemusic('xx')}},
    {text:'yy',handler:function(){playmessagemusic('yy')}}
    ]
    })

    });
    function playmessagemusic(name) {
    alert("warn.js dbnamedesc:"+name);
    var inputPageSize = 8;
    var cm = new Ext.grid.ColumnModel([new Ext.grid.RowNumberer(), {

      header : '节点',
      dataIndex : 'destionation',
      sortable : true
    },
    
    {
    
      header : '时间',
      dataIndex : 'time',
      sortable : true
    }]);
    
    
    var infostore = new Ext.data.Store({
      proxy : new Ext.data.HttpProxy({
        url : './warn.do?command=warn'
      }),
    
      reader : new Ext.data.JsonReader({
        totalProperty : 'messagetotalProperty',
        root : 'messageroot'
      }, [{
        name : 'destionation',
        mapping : 'destionation'
      }, {
        name : 'time',
        mapping : 'time'
      }
    
      ])
    });
    
    var infobbar = new Ext.PagingToolbar({
      pageSize : inputPageSize,
      store : infostore,
      displayInfo : true,
      displayMsg : '显示第{0}条到{1}条记录,一共{2}条',
      emptyMsg : '没有记录'
    });
    
    
    var grid = new Ext.grid.GridPanel({
    
      // el : 'grid',
      region : 'center',
      title : '报警详细信息',
      // height : 460,
    
      autoHeigt : true,
      trackMouseOver : false,
      loadMask : {
        msg : '正在加载数据,请稍后.....'
      },
      ds : infostore,
      cm : cm,
    
      sm : new Ext.grid.RowSelectionModel(),
    
      bbar : infobbar,
      viewConfig : {
        forceFit : true
      }
    
    });
    
    var panel = new Ext.TabPanel({
      activeTab : 0,// 当前标签为第1个tab(从0开始索引)
      border : false,
      // abelAlign : 'left',
      region : 'north',
    
      items : [{
        title : "报警音乐",
        html : '<div id="hotMessageShow"  height="100% style="padding:0px 0px 0px 0px;border:1px dashed #000000;text-align: left;color: red;font-size: 15px;">'
            + 'xx'
      }, {
        title : "报警规则",
        html : '<h>24小时内节点的首条未处理消息的时间已超过5分钟</h>'
      }],
      viewConfig : {
        forceFit : true
      }
    })
    var win = new Ext.Window({
    
      title : 'infoWindow',
      //id:   'warnwindows',
      closable : true,
      width : 560,
      height : 500,
      border : true,
      plain : true,
      draggable : true,
      collapsible : true,
      modal : true,
      closeAction : 'close',
      constrain : false,
      maximizable : true,
      layout : 'border',
      items : [panel, grid]
    })
    
    
    infostore.load({
    
      params : {
        start : 0,
        limit : inputPageSize,
        dbnamedesc : name
    
      }
    })
    var v = name + "消息报警"
    win.setTitle(v);
    win.show();
    

    }[/code]

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?

悬赏问题

  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码