没有办法,基于安全的因素,IE不允许.除非自己重写<input type=file>这个组件

解决方案 »

  1.   

    <script>
    function UpLoadForm_Validator(pUpLoadForm)
    {
    if(document.all.UpLoadFile.value=="")
    {
    window.confirm("请选择上传的文档!");
    pUpLoadForm.UpLoadFile.focus();
    return false;
    }
    var strFileFormat=pUpLoadForm.UpLoadFile.value.match(/^(.*)(\.)(.{1,8})$/)[3];//检查上传文件格式
    strFileFormat=strFileFormat.toUpperCase();
    if(strFileFormat=="DOC"||strFileFormat=="DOT")
    {
    }
    else
    {
    window.confirm("只能上传.Doc和.Dot,请重新选择!");
    return false;
    }
    return true;
    }
    </script>
    <form method="POST" enctype="multipart/form-data" action="" onsubmit="return UpLoadForm_Validator(this)" laguage="JavaScript" name="UpLoadForm">
    <input type="file" name="UpLoadFile" style="visibility:hidden;">
    <input type=button onclick="UpLoadFile.click();">
    <input type="submit" value="上传" name="UpLoadButton">
    </form>
      

  2.   

    如果是文本文件可以<object id="fileDialog" width="0px" height="0px" classid="clsid:F9043C85-F6F2-101A-A3C9-08002B2F49FB" codebase="http://activex.microsoft.com/controls/vb5/comdlg32.cab">
    </object>
    <textarea id=TxtBody style="background-color:#EEEEEE;width:100%;height:100">无标题</textarea>
    <br>
    <input type=button value=加载 onclick="loadDoc()">
    <input type=button value=保存 onclick="saveDoc()">
    <script>
    function loadDoc()
    {
    fileDialog.CancelError=true;
        try{
        fileDialog.Filter="HTM Files (*.htm)|*.htm|Text Files (*.txt)|*.txt";
         fileDialog.ShowOpen();
        var fso=new ActiveXObject("Scripting.FileSystemObject");
        var reading=1;
        var f=fso.OpenTextFile(fileDialog.filename,reading);
        //window.confirm(f);
        var r=f.ReadAll();
        f.close();
        TxtBody.value=r;
        }catch(e){}
    }
    function saveDoc()
    {
    fileDialog.CancelError=true;
       try{
       fileDialog.Filter="HTM Files (*.htm)|*.htm|Text Files (*.txt)|*.txt";
       fileDialog.ShowSave();
       var fso=new ActiveXObject("Scripting.FileSystemObject");
       var f=fso.CreateTextFile(fileDialog.filename,true);
       f.write(TxtBody.value);
       f.Close();
       }
       catch(e){}
    }
    </script>
    </body>
      

  3.   

    你可以参考上面的gjd111686(数字金刚) 的说法,试验一下,说不定能够达到你的目的呢?
      

  4.   

    到javascript找一找,有解决方案的,不过实际应用上这样做不行的。