主界面叫workspace.aspx,里边嵌套了
<frameset rows="65,*,57" name="ParentFrame" frameborder="NO" border="0" framespacing="0">
  <frame src="top.aspx" name="topFrame" scrolling="auto" noresize>
  <frame src="middle.html" name="searchFrame" scrolling="no" noresize>
  <frame src="bottom.aspx" name="bottomFrame" scrolling="no" noresize>
</frameset>然后在middle.html里是这样的:
<frameset cols="151,8,*" frameborder="NO" border="0" framespacing="0">
  <frameset rows="48,*" frameborder="NO" border="0" framespaceing="0">
    <frame src="home.aspx" name="topLeft" scrolling="no" noresize>
    <frame src="left.aspx" name="leftLeft" scrolling="auto" noresize>
  </frameset>
  <frame src="line.aspx" name="middleLeft" scrolling="no" noresize>
  <frameset rows="48,*" frameborder="NO" border="0" framespaceing="0">
    <frame src="search.aspx" name="middlesearch" scrolling="no" noresize>
    <frame src="main.html" name="middleMain" scrolling="auto" noresize>
  </frameset>
</frameset>
现在我在middleLeft.aspx页里,window.open出一个窗体(名叫addNew.aspx)。。我现在想在addNew.aspx里点击按钮并触发workspace.aspx里的函数,请问如何调用呢??各位。。10加班的最后一个问题咯。。有了解的朋友帮忙忙啦

解决方案 »

  1.   

    完全是 dhtml&javascript 问题哦。在那边问过吗?找了半天也没有找到 middleLeft.aspx 在哪里用了?!按照dhtml的对象树型结构,window.frame["searchFrame"].frame["这里你缺少名称"].frame["leftLeft"]大概是你的middleleft,下边的对象自然是使用 .document.getElementById 就能得到。另外从 addNew 中使用 opener 得到 middleleft 中的 window。不过你要使用 vs 调试器调试一下,在脚本上设置断点,然后察看对象的结构是否是这样。
      

  2.   

    真是不好意思是在mail.html里
    <frameset cols="*,276" frameborder="NO" border="0" framespacing="0">
      <frame src="main_left.aspx" name="mainLeft" scrolling="auto" noresize>
      <frame src="main_right.aspx" name="mainRight" scrolling="no" noresize>
    </frameset>
      

  3.   

    完整问题:
    主界面叫workspace.aspx,里边嵌套了
    <frameset rows="65,*,57" name="ParentFrame" frameborder="NO" border="0" framespacing="0">
      <frame src="top.aspx" name="topFrame" scrolling="auto" noresize>
      <frame src="middle.html" name="searchFrame" scrolling="no" noresize>
      <frame src="bottom.aspx" name="bottomFrame" scrolling="no" noresize>
    </frameset>然后在middle.html里是这样的:
    <frameset cols="151,8,*" frameborder="NO" border="0" framespacing="0">
      <frameset rows="48,*" frameborder="NO" border="0" framespaceing="0">
        <frame src="home.aspx" name="topLeft" scrolling="no" noresize>
        <frame src="left.aspx" name="leftLeft" scrolling="auto" noresize>
      </frameset>
      <frame src="line.aspx" name="middleLeft" scrolling="no" noresize>
      <frameset rows="48,*" frameborder="NO" border="0" framespaceing="0">
        <frame src="search.aspx" name="middlesearch" scrolling="no" noresize>
        <frame src="main.html" name="middleMain" scrolling="auto" noresize>
      </frameset>
    </frameset>是在mail.html里
    <frameset cols="*,276" frameborder="NO" border="0" framespacing="0">
      <frame src="main_left.aspx" name="mainLeft" scrolling="auto" noresize>
      <frame src="main_right.aspx" name="mainRight" scrolling="no" noresize>
    </frameset>现在我在middleLeft.aspx页里,window.open出一个窗体(名叫addNew.aspx)。。我现在想在addNew.aspx里点击按钮并触发workspace.aspx里的函数,请问如何调用呢??各位。。10加班的最后一个问题咯。。有了解的朋友帮忙忙啦
      

  4.   

    我写的“.frame["这里你缺少名称"]”或许是多余的,应该删掉。这种东西看文档不可靠,依照原理然后用调试器自己去分析运行时逻辑。
      

  5.   

    大致就是形状类似这样的代码:opener.frame["searchFrame"].frame["leftLeft"].myFunction(...)来调用函数。如果是访问具体tag,就将函数换为 document.getElementById(...)。先调试成功访问目标中的tag,再换为函数,这个次序比较可靠。