给大家简化一下
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<% 'Option Explicit %>
<!-- #include file="../../include/uppath.asp" -->
<!-- #include file="../../include/myfunc.asp" -->
<!-- #include FILE="upload_5xsoft.inc" --><script language="JavaScript" type="text/JavaScript">function listback(){
     //把sel 放到opener filelist 中
  var j,op,openop;
  openop=window.opener.document.fm1.filelist;
  openop.options.length=0;
  for (j=0;j<document.fm1.sel.options.length);j++)
  { 
     op=new Option(fm1.sel.options[j].text,fm1.sel.options[j].value,false,false);
     openop.options[j]=op;
   }
  alert("will close");
      window.close();
  return;
  }function fileupsubmit(){
      if (document.forms[0].elements["upload1"].value == ""){alert("还未选择要上传的文件!");return false;}
  return true;
}</script><%
'.................................
'.................................
%><HTML><HEAD><TITLE>粘贴附件</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<LINK href="/qd.css" type=text/css rel=stylesheet><script>function msover(){
event.srcElement.style.backgroundColor="#ccffff";
event.srcElement.style.cursor = "hand";
}
function msout(){
event.srcElement.style.backgroundColor="#FFF6DC";
event.srcElement.style.cursor = "auto";
}
</script>
</HEAD>
<BODY>
        <FORM name="fm1" action="" method=post encType=multipart/form-data>
        
                        <INPUT class=button onmouseover="msover();" onmouseout="msout();" type=submit value="上传文件" name=button> 
                      <select name="sel" id="sel">
                            <%
call makesel
%>
                          </select>
                        <INPUT name=button type=submit class=button id="del" onmouseover="msover();" onmouseout="msout();" value="删除所选附件">
          <input class=button onclick="javascript:listback();" type=button value="确  定" name=back> </FORM>
<%
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'在此处理上传及删除       还需要做出操作选择框添加及删除内容的操作  yifi 2003-8-5'
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''%>
<script language="JavaScript" type="text/JavaScript">
var op = new Option("<%= oldfilename%>","<%= filename%>",false,false);
var sel=document.fm1.sel;
sel.options[fm1.sel.options.length] = op ;
</script>
<%  '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  '处理删除文件
  '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
 '...........................................
%>
<script language="JavaScript" type="text/JavaScript">
document.fm1.sel.options[<%= fileindex %>]=null;
</script>
<%
'..................
%>
为什么我的 listback() fileupsubmit() 都不执行了,,,请帮忙

解决方案 »

  1.   

    1.语法错误
    for (j=0;j<document.fm1.sel.options.length);j++)
    ->for (j=0;j<document.fm1.sel.options.length;j++)
    2.语法错误
    var op = new Option("<%= oldfilename%>","<%= filename%>",false,false);
    ->var op = new Option(<%= oldfilename%>,<%= filename%>,false,false);
    3.你Form的action是空的,不知道能干嘛
    4.你的listback()被调用了,但是 openop=window.opener.document.fm1.filelist;这是个啥东西?这东西是null的。你提问的东西里没有提到。
    5.你的fileupsubmit()跟本没有调用的地方,怎么可能执行
    顺便问一句,这两个问题你都搞不定,你哪来的那些三角?搞不明白,混事的呀?!
      

  2.   

    1. 非常感谢
    2.这一段代码是好的,我已经调试通过了
    3 form 的 action="" 表示使用本页处理. 这个你不知道吗?
    4. 这是现在的问题所在 window.opener.document.fm1.filelist 是一个 select
    我 listback() 的用意就是要清空opener 里面 filelist 元素的所有值.然后把此页的 sel 元素里面的列表复制到 opener 里面的 filelist 中
    这个我还没调试好....5 由于代码没给全,所以你没看到,呵呵
    我的分数都是在 asp版中得的,以前很少用 javascript 做客户脚本,见笑了...多多联系哦 :)我会一点的东西有 : asp  .net  delphi  xml相关
      

  3.   

    现在很严重了function listback(){
         //把sel 放到opener filelist 中
      var j,op,openop;
      openop=window.opener.document.fm1.filelist;
      openop.options.length=0;
      for (j=0; j<document.fm1.sel.options.length; j++)
      { 
         alert("will close");
         op=new Option (fm1.sel.options[j].text, fm1.sel.options[j].value, false, false);
         openop.options[j]=op;
       }
      
          window.close();
      return;
      }就是这个函数的问题现在他被执行了之后 ie 会出现非法操作,直接关毕,是不是用法有问题??
      

  4.   

    function listback(){
         //把sel 放到opener filelist 中
      var j,op,openop;
      openop=window.opener.document.fm1.filelist;
      openop.options.length=0;
      for (j=0; j<document.fm1.sel.options.length; j++)
      { 
         //alert("will close");
     openop.options.length=j+1;
         //op=new Option (fm1.sel.options[j].text, fm1.sel.options[j].value, false, false);
                  //openop.options[j] = op;
         openop.options[j].text=fm1.sel.options[j].text;
     openop.options[j].value=fm1.sel.options[j].value;
       }
          window.close();
      return;
      }
    已经按照以上的方法搞掂了.. 但是我还是不清楚 
    op = new Option (fm1.sel.options[j].text, fm1.sel.options[j].value, false, false);
    openop.options[j] = op;
    为什么不行??