我的页面是用的frameset框架,左边是dtree的树菜单,右边是一个页面。现在有个问题是我如何可以获取我点击的那个节点的ID,并将其作了为参数传递给右边的页面,思路是这样的,就是在点击左边的菜单时我把ID存到session中然后在右边的页面中调用。但是现在获取左边 的那个ID成了问题了

解决方案 »

  1.   


    为什么要存到session里呢?
    用js传过去好了,获取id也很简单啊.
    dtree后面的一个参数是写javascript的,在这个里面写
    用top.直接传过去好了
    建议你把树写成活的,就是遍历数据库生成树,而不是写死的
    将来你也要对树进行增删该查,那时还要通过js获取节点id
      

  2.   

    楼上怎么获取我点击的那个节点的ID呢,另外js可以跨页面传递参数吗,这是两个不同的页面
      

  3.   

    好久没用过了,都忘了。树节点可以添加触发事件,将ID作为这个触发function 的参数即可。
      

  4.   

    frame之间当然可以用js传值啊
    用top.函数名
    获取节点id  你点击节点触发节点上的js
    d.add(1,1,"a","javascript:保存id的函数(1)")
    这样子不就行了
    这个保存id的函数就将1保存在hidden上了
      

  5.   

    是用top.页面名.函数名
    少写了一个页面名
      

  6.   

    这样是可以我也想过了,javascript:保存id的函数(1)这样的话,这是add的第三个参数应该是要传递一个打开的页面的地址的,如果像你这样写了,我那个页面又怎么打开呢?
      

  7.   

    你可以用js打开地址
    很多种方式
    页面name.location的方式也可以吧
      

  8.   

    javascript:保存id的函数(1)您的意思是打开页面也直接写到函数里面是吧?这样获取节点ID的同时也打开了页面对吧?
      

  9.   

    自己改下dtree的源码:
    在节点添加的地方
    dTree.prototype.node中<a href=\"javascript: shownode('" + node.id + "'\" >";
    然后在引用页面中实现shownode方法。iframe 中可以通过contentWindow传递值:
    document.getElementById("subiframe").contentWindow.document.getElementById("test").value
    =  document.getElementById("test").value;