xx125556 2011-08-29 00:11
浏览 195
已采纳

form submit 如何提交js文件里的变量

我的一个jsp页面 有几个input 还有个extjs树带checkbox的(js文件里的) 现在想用form submit提交input 和树的节点 改怎么提交啊 节点信息已经放到check里面了 如何把check提交到action (struts2) 给个完整点的答案 谢谢了
[code="java"]
var check = [];
Ext.onReady(function() {
Ext.BLANK_IMAGE_URL = "/dtjcsy/pages/js/ext/resources/images/default/s.gif";
var Tree= Ext.tree;
var loader = new Ext.tree.TreeLoader;

var tree = new Tree.TreePanel({
    el:'tree-div',
    autoScroll:true,
    animate:true,
    enableDD:true,
    frame:false,
    border:false,
    useArrows:true,
    checkModel:'cascade',
    onlyLeafCheckable:false,
    rootVisible:true,
    bodyStyle:'background-color:#b4d5f5',
    containerScroll: true,
    listeners:{
        checkchange:function(node,checked){
        if(checked){
            var id = node.attributes.id;
            check.push(id);
        }
        }
    },
    loader: new Tree.TreeLoader({
        dataUrl:'rightAction.action',
        baseParams:{roleId:1},
        baseAttrs: { uiProvider: Ext.ux.TreeCheckNodeUI }
    })
});

var root =new Tree.AsyncTreeNode({
    text:"可用权限列表",
    draggable:false,
    id:'0'
});

tree.setRootNode(root);
tree.render();
root.expand();

});

[/code]

  • 写回答

10条回答 默认 最新

  • myali88 2011-08-29 17:35
    关注

    [code="java"]
    /*!

    Ext.onReady(function(){
    var form = Ext.get('example-form');//你要赋值的form

    var tree = new Ext.tree.TreePanel({
        renderTo:'tree-div',
        title: 'My Task List',
        height: 300,
        width: 400,
        useArrows:true,
        autoScroll:true,
        animate:true,
        enableDD:true,
        containerScroll: true,
        rootVisible: false,
        frame: true,
        root: {
            nodeType: 'async'
        },
    
        // auto create TreeLoader
        loader : new Ext.tree.TreeLoader({  
            dataUrl:'check-nodes.json',
            requestMethod : 'GET'
        }),
        listeners: {
            'checkchange': function(node, checked){
                var id = node.attributes.id;
                if(checked){
                    Ext.DomHelper.append('example-form' , {tag: 'input', name: 'id', type : 'hidden' , value: id});
                }else{
                    var inputs = Ext.DomQuery.jsSelect('input[value=' + id + ']' , 'example-form');
                    for(var i = 0 , len = inputs.length ; i < len ; i++) {
                        form.dom.removeChild(inputs[i]);
                    } 
                }
            }
        },
    
        buttons: [{
            text: 'Get Completed Tasks',
            handler: function(){
                var msg = '', selNodes = tree.getChecked();
                Ext.each(selNodes, function(node){
                    if(msg.length > 0){
                        msg += ', ';
                    }
                    msg += node.text;
                });
                Ext.Msg.show({
                    title: 'Completed Tasks', 
                    msg: msg.length > 0 ? msg : 'None',
                    icon: Ext.Msg.INFO,
                    minWidth: 200,
                    buttons: Ext.Msg.OK
                });
            }
        }]
    });
    
    tree.getRootNode().expand(true);
    

    });
    [/code]
    这个是我把extjs提供的例子,check-tree.html做了一下改动写的,你看看,我测试过了可以的,页面上加了一个form。我不知道你check提供到服务器端使用什么参数名,所以这里都采用了name为id,你可以按需要更改。

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

报告相同问题?

悬赏问题

  • ¥15 数学的三元一次方程求解
  • ¥20 iqoo11 如何下载安装工程模式
  • ¥15 本题的答案是不是有问题
  • ¥15 关于#r语言#的问题:(svydesign)为什么在一个大的数据集中抽取了一个小数据集
  • ¥15 C++使用Gunplot
  • ¥15 这个电路是如何实现路灯控制器的,原理是什么,怎么求解灯亮起后熄灭的时间如图?
  • ¥15 matlab数字图像处理频率域滤波
  • ¥15 在abaqus做了二维正交切削模型,给刀具添加了超声振动条件后输出切削力为什么比普通切削增大这么多
  • ¥15 ELGamal和paillier计算效率谁快?
  • ¥15 蓝桥杯单片机第十三届第一场,整点继电器吸合,5s后断开出现了问题