如图所示,点击左边的查询,显示对象为空或不是对象,
代码如下://传左边框架内容到右边框架  
    function TheFormSubmit(TheForm,target,action){
        if (typeof target=="undefined") target="self";
         if (target.toLowerCase()=="right"){        
         if (window.frames["FrmLeft"].frames.length < 2) return; (595行)
          var RightRrm=window.frames["FrmLeft"].frames[1];
          RightRrm.document.body.innerHTML=""
          var div=RightRrm.document.createElement("div");
          RightRrm.document.body.appendChild(div);
          div.style.display='none';
          div.innerHTML=TheForm.outerHTML;
          if(RightRrm.document.forms[0].__VIEWSTATE)     RightRrm.document.forms[0].__VIEWSTATE.parentElement.removeChild( RightRrm.document.forms[0].__VIEWSTATE);   
      RightRrm.document.forms[0].target="";
     RightRrm.document.forms[0].action=action;
     RightRrm.document.forms[0].submit();  
        }
       else{
        TheForm.submit();
    }
    }
框架集:<body style="overflow: auto">
    <form id="form1" runat="server">
    <input type="hidden" id="hid1" name="hid1"/> <input type="hidden" id="hid2" name="hid2"/><input type="hidden" id="hid3" name="hid3"/>
<table style="width:100% ;border-collapse: collapse; background-image: url('../../Images/bg2.gif')"  height="100%"  align="left" cellpadding="0" cellspacing="0" >
<tr>
<td>
<iframe id="FrmLeft" name="Left"  style="width:180px;height:100% ;"  frameborder="0" scrolling="auto" src="Integration_Select/Select_List.aspx"></iframe>
    </td>
<td  height="100%" style="width:100%">
<iframe id="FrmRight" name="Right"  style="width:100%;height:100% ;overflow:auto"  frameborder="0"  src="Integration_Select/Server_Feedback_R.aspx">
</iframe>
    </td>
</tr>
</table>
    </form>
</body>
iframe框架

解决方案 »

  1.   

    给 id="FrmLeft" 的iframe加了name属性试下  name="FrmLeft"  
      

  2.   

    IE版本多少的?
    似乎不能太老
    http://bbs.csdn.net/topics/40126583
      

  3.   

    代码在FrmLeft里面?如果是你需要使用parent得到父页   function TheFormSubmit(TheForm,target,action){
            if (typeof target=="undefined") target="self";
             if (target.toLowerCase()=="right"){        
             if (parent.frames["FrmLeft"].frames.length < 2) return;
              var RightRrm=parent.frames["FrmLeft"].frames[1];
              RightRrm.document.body.innerHTML=""
              var div=RightRrm.document.createElement("div");
              RightRrm.document.body.appendChild(div);
              div.style.display='none';
              div.innerHTML=TheForm.outerHTML;
              if(RightRrm.document.forms[0].__VIEWSTATE)     RightRrm.document.forms[0].__VIEWSTATE.parentElement.removeChild( RightRrm.document.forms[0].__VIEWSTATE);   
                 RightRrm.document.forms[0].target="";
                RightRrm.document.forms[0].action=action;
                RightRrm.document.forms[0].submit();  
            }
           else{
            TheForm.submit();
           }
        }
      

  4.   


    这样也不可以,仍然提示相同的错误
    这是一个互相调用的关系
    iframe调用Integration_Select/Select_List.aspx,在这个页面通过下拉列表分别选择相应页面,比如,代码如下:
    Select_List.aspx:<head runat="server">
        <title>Select_List</title>
    <meta name="GENERATOR" content="Microsoft Visual Studio .NET 7.1">
    <meta name="CODE_LANGUAGE" content="Visual Basic .NET 7.1">
    <meta name="vs_defaultClientScript" content="JavaScript">
    <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
    <link href="../style.css" type="text/css" rel="stylesheet">
    <script language="javascript">
    var tt=0;
    function item_change()
    {
    switch(Form1.select_type.value){
    case "社会服务反馈":{
    window.frames["LeftFrame"].src="Server_Feedback_S.aspx"  
    }
    break;
    case "值周班评比":{
    window.frames["LeftFrame"].src="OnDuty_ClassComparison_S.aspx"  
    }
    break;
    case "教室标准化评分":{
    window.frames["LeftFrame"].src="Class_Comparison_S.aspx"
    }
    break;
    case "荣誉申请":{
    window.frames["LeftFrame"].src="Glory_Apply_S.aspx"
    }
    break;
    case "工作计划":{
    window.frames["LeftFrame"].src="Work_Plan_S.aspx"

    break;
    case "个别教育":{
    window.frames["LeftFrame"].src="Individual_Education_S.aspx"

    break;
    case "重大事件":{
    window.frames["LeftFrame"].src="Importance_Events_S.aspx"
    }
    break;
    case "社会实践":{
    window.frames["LeftFrame"].src="Society_Practice_S.aspx"
    }
    break;
    case "考勤":{
    window.frames["LeftFrame"].src="CheckOnWorkAttendance_S.aspx"
    }
    break;
    case "奖惩记录":{
    window.frames["LeftFrame"].src="AwardAndPunishRecord_S.aspx"
    }
    break;
    default:{  
     window.frames["LeftFrame"].src="NoPower.aspx"
    }
    }
    window.frames["LeftFrame"].location.href=LeftFrame.src
    }
    window.onload=function IntFunction(){
    if (tt==0){
    item_change();
    tt=1;
    }
    }
    </script>
    </head>
    <body MS_POSITIONING="GridLayout" scroll="no">
    <form id="Form1" method="post" runat="server">
    <table width="98%" border="0" cellspacing="0" cellpadding="0" style="HEIGHT: 460px" align="center">
    <tr>
    <td height="23" align="center">
    <img src="../Images/lefttop1.gif" width="158" border="0">
    对象选择:<select id="select_type" runat="server" onchange="item_change()" NAME="select_type" style="width:100">
    <option  >社会服务反馈</option>
    <option>值周班评比</option>
    <option>教室标准化评分</option>
      <option>工作计划</option>
    <option>个别教育</option>
    <option>重大事件</option>
    <option>社会实践</option>
    <option>考勤</option>
    <option>奖惩记录</option>
    </select></td>
    </tr>
    <tr>
    <td bgcolor="#52c3fe" style="LINE-HEIGHT: 1px">&nbsp;</td>
    </tr>
    <tr>
    <td><iframe    width="100%" height="430" id="LeftFrame" frameborder="0"></iframe>
    </td>
    </tr>
    </table>
      </form>
    </body>
    Server_Feedback_S.aspx代码如下:<html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title>Server_Feedback_S</title>
    <meta name="GENERATOR" content="Microsoft Visual Studio .NET 7.1">
    <meta name="CODE_LANGUAGE" content="Visual Basic .NET 7.1">
    <meta name="vs_defaultClientScript" content="JavaScript">
    <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
    <link href="../style.css" type="text/css" rel="stylesheet">
    <script language="javascript" src="../Js/Check.js"></script>
    <script language="javascript" src="../Js/comm.js"></script>
    <script language="javascript">
    function CheckValue(){
    if (chkinteger(Form1.JoinNum.value)==false){
    alert("参加人数应为正整数!");
    Form1.JoinNum.focus();
    return false;
    }
    if (chkinteger(Form1.ServerTime.value)==false){
    alert("服务时数应为正整数!");
    Form1.ServerTime.focus();
    return false;
    }
    if (chkinteger(Form1.InspectionTimes.value)==false){
    alert("巡查次数应为正整数!");
    Form1.InspectionTimes.focus();
    return false;
    }
    Form1.HaveSubmit.value="1"
    TheFormSubmit(Form1,'right','Server_Feedback_R.aspx')
    }
    </script>
    </head>
    <body MS_POSITIONING="GridLayout" scroll="no">
    <form id="Form1" method="post" runat="server">
    <input type="hidden" runat="server" style="WIDTH:0px" id="HaveSubmit" value="0" name="HaveSubmit">
    <table cellSpacing="1" cellPadding="0" width="98%" bgColor="#52c3fe" border="0" align="center">
    <tr bgColor="#ffffff">
    <td width="54" align="center">年 度</td>
    <td><select id="Year" runat="server" style="WIDTH:100px" NAME="Year"></select></td>
    </tr>
    <tr bgColor="#ffffff">
    <td align="center">假期类型</td>
    <td><select id="HolidayType" runat="server" style="WIDTH:100px" NAME="HolidayType">
    <option selected value="">  全部</option>
    <option value="暑假">暑假</option>
    <option value="寒假">寒假</option>
    <option value="五一">五一</option>
    <option value="国庆">国庆</option>
    <option value="其它">其它</option>
    </select></td>
    </tr>
    <tr bgColor="#ffffff">
    <td align="center">活动名称</td>
    <td><input type="text" id="ActivityName" runat="server" style="WIDTH:100px;BORDER-TOP-STYLE:groove;BORDER-RIGHT-STYLE:groove;BORDER-LEFT-STYLE:groove;BORDER-BOTTOM-STYLE:groove"
    NAME="ActivityName" onkeypress="if (event.keyCode ==39) return false;" maxlength="30">
    </td>
    </tr>
    <tr bgColor="#ffffff">
    <td align="center">组织者</td>
    <td><select id="Organizer" Runat="server" style="WIDTH:100px" NAME="Organizer">
    </select></td>
    </tr>
    <tr bgColor="#ffffff">
    <td align="center">服务基地</td>
    <td><input id="ServerBase" type="text" style="WIDTH:100px;BORDER-TOP-STYLE:groove;BORDER-RIGHT-STYLE:groove;BORDER-LEFT-STYLE:groove;BORDER-BOTTOM-STYLE:groove"
    Runat="server" NAME="ServerBase" maxlength="30"></td>
    </tr>
    <tr bgColor="#ffffff">
    <td align="center">参加人次</td>
    <td><input id="JoinNum" type="text" style="WIDTH:100px;BORDER-TOP-STYLE:groove;BORDER-RIGHT-STYLE:groove;BORDER-LEFT-STYLE:groove;BORDER-BOTTOM-STYLE:groove"
    Runat="server" NAME="JoinNum" maxlength="5" onkeypress="if((event.keyCode<48)||(event.keyCode >57)) return false"></td>
    </tr>
    <tr bgColor="#ffffff">
    <td align="center">服务时数</td>
    <td><input id="ServerTime" type="text" style="WIDTH:100px;BORDER-TOP-STYLE:groove;BORDER-RIGHT-STYLE:groove;BORDER-LEFT-STYLE:groove;BORDER-BOTTOM-STYLE:groove"
    Runat="server" NAME="ServerTime" maxlength="5" onkeypress="if((event.keyCode<48)||(event.keyCode >57)) return false"></td>
    </tr>
    <tr bgColor="#ffffff">
    <td align="center">巡查次数</td>
    <td><input id="InspectionTimes" type="text" style="WIDTH:100px;BORDER-TOP-STYLE:groove;BORDER-RIGHT-STYLE:groove;BORDER-LEFT-STYLE:groove;BORDER-BOTTOM-STYLE:groove"
    Runat="server" NAME="InspectionTimes" maxlength="5" onkeypress="if((event.keyCode<48)||(event.keyCode >57)) return false"></td>
    </tr>
    <tr bgColor="#ffffff">
    <td align="center" colSpan="2" height="24"><input type="button" runat="server" id="Select_Submit" value=" 查 询 " onclick="CheckValue();" NAME="Select_Submit" class="BUTTON1"></td>
    </tr>
    </table>
    </form>
    </body>
    </html>
      

  5.   

    你的Integration_Select/Select_List.aspx里面还有iframe吗?没有的话下面就会出错。
    if (window.frames["FrmLeft"].frames.length < 2)
      

  6.   

    没有
    1)zhcx.aspx使用iframe调用Integration_Select/Select_List.aspx
    2)Integration_Select/Select_List.aspx通过下拉列表选择需要的页面
    3)Server_Feedback_S.aspx点击查询调用脚本
    大致就是这个意思
    我该如何修改才能实现我的目标
    这是改别人的东西,没改好
      

  7.   

    修改了下,现在不报错了,但是还是不显示我想要的结果,代码如下:
    window.parent.frames["LeftFrame"].frames.length
    LeftFrame应该在Integration_Select/Select_List.aspx页面的下边,与zhcx.aspx无关
    不显示的原因,是没传过值来,因为用alert(window.parent.frames["LeftFrame"].frames.length),显示长度为0