不是上一贴回答问题的朋友理解错-----------不使用 ActiveX 不涉及到权限按目前市面上的浏览器, 没辙了

解决方案 »

  1.   

    不用ActiveX用Applet行么-_-!
    不过不管用什么权限问题始终存在
    HTML肯定是没有提供相关的控件来实现这个功能的,Javascript更不可能访问到本地资源(如果真的可以那不知道已经造就了多少灌希哥了)。
    有一点我很不明白,如果不用ActiveX一类的东西,选择了文件夹又有什么用呢?你也不可能对它进行任何操作。如果要上传到服务器,那本地文件夹地址也是没有意义的啊。
      

  2.   

    给楼主个思路
    像下面这样做, IE里点浏览可以在文本框看到完整路径~ 但ff里只能看到文件名...
    建议楼主给客户看用 text ,上传还是用隐藏的那个 file
    就是 text只起显示的做用...
    路径等FORM提交后用后台文件去剥离出来就行了<form>
    <input type="text" name="path" />        
    <div style="position:relative">
            <input type="file" name="hid_f" onchange="this.form.path.value=this.value" style="position:absolute; z-index:10; top:1px; left:-155px; filter:alpha(opacity=0); opacity:0" />
            <input type="button" value=" 浏 览 "/>
    </div>
    </form>
      

  3.   

    晕,理解错了
    楼主可以直接用type=file, FORM提交后从后台去剥离出路径 
      

  4.   

    意思是还是用选择文件那种控件,选出来之后会得到文件的完整路径,再自己解析一下把文件名前面的路径弄出来。我觉得这种问题只能是靠ActiveX, Applet之类第三方的东西
      

  5.   

    我也碰到这个问题,用ActiveXObject把功能实现了,可是也涉及到权限问题,很麻烦.
    更可恶的是有的机器明明已经加了权限可还是打不开...郁闷中...
      

  6.   

    看看这个可以吗?
    <script>
    function browseFolder(path) {
      try{
        var Message = "\u8bf7\u9009\u62e9\u6587\u4ef6\u5939";
        var Shell = new ActiveXObject("Shell.Application");
        var f= Shell.BrowseForFolder(0, Message, 64, 17);    if (f != null) {
          f = f.items();
          f = f.item();
          f = f.Path;
          if (f.charAt(f.length - 1) != "\\") {f = f + "\\";}
          document.getElementById(path).value = f;
          return f;
        }
      }
      catch (e) {
        alert(e);
      }
    }</script><input type="text" name="path" /><input type="button" onclick="browseFolder('path')" value="选择文件夹路径" />
      

  7.   



    var f= Shell.BrowseForFolder(0, Message, 64, 17); 
    这一行报 [object error] 错误,被捕获,弹出来了...
      

  8.   

    晕倒,你是不要ACTIVEX的,上面的有权限问题,那个错误就是。呵呵
    我是用.hta文件测试的,没看你的要求,汗~~那只要自己模拟一个了,做个SELECT,用FSO把盘符都装进去,下面做个列表框,选了某一个盘符后就让FSO遍历。然后把那个盘的一级目录名装进列表框,。。
      

  9.   

    我要在jsp里用的,FSO恐怕也不行吧...