我在页面中使用了DTREE做网站的菜单导航
主页面框架大概如下
<table>
  <tr>
    <td colspan="2">
     <iframe id="top" src="top.asp">
    </td>
  </tr>
  <tr>
    <td><iframe id="menu" src="menu.asp"></td>
    <td><iframe id="right" src="list.asp"></td>
  </tr>
</table>我的menu.asp里面使用了dtree树,现在的问题是,我想在树里点击节点后,所指向的URL的TARGET为主页面的<iframe id="right">
意思就是说,点击左边的菜单,其连接内容在右边的IFRAME里面显示,我该如何控制dtree里面的target属性啊.
不知道大家懂我说的什么了没有,应该好理解吧
第一个解决,散分100,谢谢 

解决方案 »

  1.   

    可能实际的问题是,如何指定target为父页面下的某个iframe
      

  2.   

    d.add(0,-1,’My example tree’);  
          这一句为树添加了一个根节点,显示名称为’My example tree’     d.add(1,0,’Node 1’,’example01.html’);  
         这一句在树的根节点下面添加了一个子节点。(d.add()方法的参数具体含义可参见api.html文件)       
    常用的:       
    第一个参数,表示当前节点的ID       
    第二个参数,表示当前节点的父节点的ID,根节点的值为 -1      
    第三个参数,节点要显示的文字       
    第四个参数,节点的Url       
    第五个参数,鼠标移至该节点时节点的Title       
    第六个参数,节点的target  
    第七个参数,用做节点的图标,节点没有指定图标时使用默认值  
    第八个参数,用做节点打开的图标,节点没有指定图标时使用默认值  
    第九个参数,判断节点是否打开  
      

  3.   

    这个知道啊,关键是如何指定定target为父页面中的某个iframe
    如果指定的是dtree本页面中的iframe就可以实现,比如
    dtree.config.target='right';
    这样是可以的,可是我想把dtree生成的菜单放在一个单独的htm中,如问题所示
      

  4.   

    也就是说,想把dtree.config.target=parent.frames('right')之类,当然这样不可行
      

  5.   

    用DTREE自带的例子说明吧.
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html><head>
    <title>Destroydrop &raquo; Javascripts &raquo; Tree</title> <link rel="StyleSheet" href="dtree.css" type="text/css" />
    <script type="text/javascript" src="dtree.js"></script></head><body><h1><a href="/">Destroydrop</a> &raquo; <a href="/javascripts/">Javascripts</a> &raquo; <a href="/javascripts/tree/">Tree</a></h1><h2>Example</h2><div class="dtree"> <p><a href="javascript: d.openAll();">open all</a> | <a href="javascript: d.closeAll();">close all</a></p> <script type="text/javascript">
    <!-- d = new dTree('d'); d.add(0,-1,'My example tree');
    d.add(1,0,'Node 1','example01.html');
    d.add(2,0,'Node 2','example01.html');
    d.add(3,1,'Node 1.1','example01.html');
    d.add(4,0,'Node 3','example01.html');
    d.add(5,3,'Node 1.1.1','example01.html');
    d.add(6,5,'Node 1.1.1.1','example01.html');
    d.add(7,0,'Node 4','example01.html');
    d.add(8,1,'Node 1.2','example01.html');
    d.add(9,0,'My Pictures','example01.html','Pictures I\'ve taken over the years','','','img/imgfolder.gif');
    d.add(10,9,'The trip to Iceland','example01.html','Pictures of Gullfoss and Geysir');
    d.add(11,9,'Mom\'s birthday','example01.html');
    d.add(12,0,'Recycle Bin','example01.html','','','img/trash.gif');
    d.add(13,0,'test','example01.html','','abc','img/trash.gif'); document.write(d); //-->
    </script></div>
    <iframe name="abc"></iframe>
    <p><a href="mailto&#58;drop&#64;destroydrop&#46;com">&copy;2002-2003 Geir Landr&ouml;</a></p></body></html>
    再add的时候target参数位定了abc.而你有一个frame或iframe叫abc就会在abc那里做参数4的URL跳转了.
      

  6.   

    换成有父子框架的也一样.<iframe name="a" src="example01.html"></iframe>
    <iframe name="abc"></iframe>把前面的abc去掉.
      

  7.   

    iframe弄个name属性,target="name属性的值就好了"
      

  8.   

    我晕哦,可能大家还没看懂..
    我说的Dtree所在的页面
    是在主面页框架中的一个iframe中加载的,现在是要将target指定为主页面的另一个框架.<table> 
      <tr> 
        <td colspan="2"> 
        <iframe id="top" src="top.asp"> 
        </td> 
      </tr> 
      <tr> 
        <td> <iframe id="menu" src="menu.asp"> </td>   /*dtree是在这个menu.asp文件里*/ 
        <td> <iframe id="right" src="list.asp"> </td> 
      </tr> 
    </table> 
      

  9.   

    我晕哦,可能大家还没看懂.. 
    我说的Dtree所在的页面 
    是在主面页框架中的一个iframe中加载的,现在是要将target指定为主页面的另一个框架. <table> 
      <tr> 
        <td colspan="2"> 
        <iframe id="top" src="top.asp"> 
        </td> 
      </tr> 
      <tr> 
        <td> <iframe id="menu" src="menu.asp"> </td>  /*dtree是在这个menu.asp文件里*/ 
        <td> <iframe id="right" src="list.asp"> </td>  /*要指定target为这个iframe*/
      </tr> 
    </table> 
      

  10.   

    <table> 
      <tr> 
        <td colspan="2"> 
        <iframe id="top" src="top.asp"> 
        </td> 
      </tr> 
      <tr> 
        <td> <iframe id="menu" name="menu" src="menu.asp"> </td>  /*dtree是在这个menu.asp文件里*/ 
        <td> <iframe id="right" name="right" src="list.asp"> </td>  /*要指定target为这个iframe*/ 
      </tr> 
    </table> 
    d.add(13,0,'test','example01.html','','right','img/trash.gif');
    这样行不?
      

  11.   

            
    d.add(21,15 ,'菜单节点1,'javascript:opena(\'web/SysManage/Users.aspx\')');
    function opena(url) {
                        window.parent.frames("rightBody").src = url;
                    }
      

  12.   


    我当然知道你说的是什么
    JScript coded.add(13,0,'test','example01.html','','right','img/trash.gif'); 
    这里的right指的就是这行脚本所在的页面下包含的id为right的iframe,可是我是这样的要求吗?我要的是指定为父级页面的另一个iframe里面,OK?
      

  13.   


    aoin的思路可以试下,换种方式,为什么不在url上想办法呢,url是可以使用javascript代替的,顶你
      

  14.   

    哪位帮忙看下:(dtree.css和dtree.js已加)
    <script type="text/javascript" src="/OAapps/js/dtree/dtree.js"></script>
    <link rel="stylesheet" href="/OAapps/js/dtree/dtree.css" type="text/css"></link>
    <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
    <!--实例化树对象
         添加树节点
         显示树-->
    <body bgcolor="#C6D6FD">
    <script>
            var d = new dTree('d');
    d.config.useStatusText=true;
    d.config.closeSameLevel=true;
    d.config.useCookies=false;
    d.add(0,-1,'${users.userName}');
    </script>
    <script>
    <c:forEach items="${lpw}" var="l">     //lpw: 用户所有权限集合
           //id,父id,name,url,'提示','显示位置'
          d.add(${l.powerId},${l.upPwoerId},'${l.powerName}','${l.linkWhere}','${l.powerName}','rightFrame');
    </c:forEach>
    </script>
    <script>
      document.write(d);
    </script>
    </body>为何我的树菜单之只出了顶级节点,而子节点不显示 
      

  15.   


    你把你的l下的属性System.out.print()出来看看,是否存在空值?显示的是什么,是""还是Null,
    如果是Null的话,要自己转一次,该成"",不然dTree函数不支持!
      

  16.   

    将dTree直接放在父页面中,不放在left页面中,然后用target,则可以实现你想要的功能!
      

  17.   

    哥们,我遇到此问题了,解决了么?我现在找到一个解决办法。
    function OpenTarget(url){
                window.parent.document.all.mainFrame.src=url ;
    } d = new dTree('d');
    d.add(0,-1,'所有部門',"javascript:OpenTarget('<%=path %>/admin/takeTept!queryTakeDept.action');");
      

  18.   

    楼主,,14楼,和 21 说对了 。 
    顺便说说 楼主想要的效果:
     楼主是说一个窗体是由三个JSP构成 。
     比如:
             <frameset rows="20% , 80%">
       <frame src="top.jsp" name="top"/>
       <framesetcols="20% , 80%">
    <frame src="left.jsp" name="left"> 
    <frame src="right.jsp" name="right">
    </frameset>
    left里面放的Dtree , 点击Dtree , 内容要在 right里面显示 !
    那么上面所有回复,只有14楼,和 21楼正确。
    好了,楼主,我们三人平分你给的分吧 。
      

  19.   

    经过我的测试我已经成功:function  opena(urlssss) {
    self.parent.frames['right'].location=urlssss ;
    }
    /*dtree code*/
    d.add(1,6,'用户,'javascript:opena('../security/userList.action')','查','','','',false) <frameset rows="20% , 80%">
        <frame src="top.jsp" name="top"/>
        <frameset cols="20% , 80%">
          <frame src="left.jsp" name="left">  
          <frame src="right.jsp" name="right">
        </frameset>
    </frameset>
    LZ 可以去 试下,,我的已经成功啦,,,,,速度给分 啊 。。 。