我用file类型的input读取本机的文件,把点击“更新”按钮调用onClick事件(onClick="onLoad()"),把文件的内容变化后显示在页面的text里,单独的网页用IE打开能正确显示内容,但编译到系统烧录到FLASH里运行时总是提示函数onLoad()未定义?
这是什么原因呢?
急急急急急急急,希望高手们指点,不甚感激!!!!!!

解决方案 »

  1.   

    建议把onload函数换个名字,这个是系统自带的一个事件,如果出了自定义的作用域,就可能出错,关键是这样看起来很有歧义,而且容易出错~~
      

  2.   

    作用是读文件的内容,之前用的函数名为ReadFile同样提示函数未定义。我先换个名字试一试,谢谢zyl_lyr1019的指点。
      

  3.   

    onload这个函数式js保留关键字,也就是系统自带的一个事件;自定义函数名,不能与关键字重复。。
      

  4.   

    现在我换了一个应该不是关键字的函数名onFIl(),但是还是出现提示函数未定义。
      

  5.   

    说明一下,我定义了ActiveXObject对象,Firefox不支持,IE支持。用IE打开单独的网页点击更新能实现,编译后运行用IE打开点击“更新”没有实现,应该不是ActiveXObject对象的原因吧?
    估计是别的地方的原因
      

  6.   

    <html>
    <head>
      <link rel=stylesheet href="style.css" type="text/css">
      <title>读取文件</title>
    </head><body><script  type ="text/javascript" language="javascript">
    var url=String(window.location.search);
    var vars=url.substring(url.indexOf("?")+1,url.length);
    if(vars=="")vars=0;</script><form name="httpform" method="POST" enctype="multipart/form-data"> 
     <input type="hidden" name="REDIRECT" value="patload.htm">
     
    <table border="0">
      <tr>
        <td class="header"><strong>读取Pattern文件</strong></td>
      </tr>
      <tr><td><hr></td></tr>
      
      <tr><td>
        <table border="0">
         <tr>
           <td width="120"></td>
           <td>文件名: </td>
           <td><input type="file" name="LOADFILE"></td>
         </tr>
         <tr>
           <td width="120"></td>
           <td colspan="2"><input type="button" class="button" value="更新" onclick="onCon()"></td>
         </tr>
       
         <tr><td width="120"></td><td><input type="text" name="test1"></td></tr>
         <tr><td></td></tr>    </table>
      </td></tr>
      
      
     <tr><td><hr></td></tr>
      
     <tr><td> 
       <table  width="100%" border="0" cellpadding="0"  cellspacing="0">
         <tr><td align="center" colspan="5" class="header"><font color=#006600><strong>芯片管脚配置表</strong></font></td></tr>
         <tr>
           <td width="8%" bgcolor="#808080"><font color="#FFFFFF">NO.</font></td>
           <td width="14%" bgcolor="#808080"><font color="#FFFFFF">名称</font></td>
           <td width="10%" bgcolor="#808080"><font color="#FFFFFF">CLK</font></td>
           <td width="17%" bgcolor="#808080"><font color="#FFFFFF">LEAD</font></td>
           <td width="17%" bgcolor="#808080"><font color="#FFFFFF">LAG</font></td>
         </tr>     <script LANGUAGE="JavaScript">
         for(var k=1;k<=30;k++)
          {
            var NO   ="NO"  + k;
            var PIN  ="PIN" + k;
            var CLK  ="CLK" + k;
            var LEAD ="LEAD"+ k;
            var LAG  ="LAG" + k;
          
           document.write('<tr><td width=20>' +  k  + '</td>' +
                         '<td><input type=text size=10 maxlength=7 name=' + PIN + ' value=""></td>');
           document.write('<td><input type=radio                   name=clock       value="'+ CLK + '"></td>'); 
           document.write('<td><input type=text size=5 maxlength=3 name='+ LEAD + ' value=""></td>');
           document.write('<td><input type=text size=5 maxlength=3 name='+ LAG + '  value=""></td></tr>');
          }
         </script>
      
        </table>
      </td></tr>
     
      <tr><td><hr></td></tr>
      <tr>
        <td><input type="button" class="button" value="保存"
               onClick="onSave()"></td> 
      </tr>
      
    </table>
    </form><script language="javascript " src="functions.js"></script>
    <script LANGUAGE="JavaScript"> 
     //这个方法用于读取txt文件:
    function onCon(){ //传入的参数是文件所在的路径
     var fso = new ActiveXObject("Scripting.FileSystemObject");
     var file =fso.OpenTextFile(httpform.LOADFILE.value);
     var fl= new Array();    //一行行的读文件,以行为单位存放在数组中
     var len,low;

     for(var l=0;l<=10;l++)
       fl[l]=file.ReadLine();
       len=fl[0].length;
       file.Close();
         
       for(var m=0;m<=10;m++)
      {
        if(fl[m].charAt(len)==";")
        {
         low=m-1;
         break;
        }  
        else 
        {
         low=0;
        }
      }
       
      httpform.test1.value=2;
      
      for(var i=1;i<=len;i++)
      {
        var pin = eval("document.httpform.PIN" + i);
        for(var m=0;m<low;m++)
         {
            pin.value +=fl[m].charAt(i-1);
         }
      } 
    }
    function onSave() {
        
      document.httpform.submit();
      setTimeout("Wait()",1500);
    }function Wait(){
      setTimeout("window.location='patload.htm'",20000);
    }
    </script></body></html>详细代码如上,不知道用是不是系统里的其他部分代码引起的提示函数未定义~