<script>
function BrowseFolder(){
 try{
  var Message = "请选择文件夹";  //选择框提示信息
  var Shell = new ActiveXObject( "Shell.Application" );
  //var Folder = Shell.BrowseForFolder(0,Message,0x0040,0x11);//起始目录为:我的电脑
  var Folder = Shell.BrowseForFolder(0,Message,0); //起始目录为:桌面
  if(Folder != null){
    Folder = Folder.items();  // 返回 FolderItems 对象
    Folder = Folder.item();  // 返回 Folderitem 对象
    Folder = Folder.Path;   // 返回路径
    if(Folder.charAt(Folder.length-1) != "\\"){
      Folder = Folder + "\\";
    }
    document.all.savePath.value=Folder;
    return Folder;
  }
 }catch(e){ 
  alert(e.message);
 }
}
</script>
<input type="text" name="path" size="80" value="" />
<input type = "button" name = "but" size = "100" onclick="BrowseFolder()" value="选择文件夹" />
点击“选择文件夹”按钮开窗,如何将开窗选中的路径传到 name="path" 的文本框中?JS获取文件夹路径对象pathJavaScript

解决方案 »

  1.   

    <input type="text" name="path" size="80" value="" /> 
    name="path" 改成 id="path",如果有表单提交,就保留name="path" 加 id="path"
    <script>
    function BrowseFolder(){
     try{
      var Message = "请选择文件夹";  //选择框提示信息
      var Shell = new ActiveXObject( "Shell.Application" );
      //var Folder = Shell.BrowseForFolder(0,Message,0x0040,0x11);//起始目录为:我的电脑
      var Folder = Shell.BrowseForFolder(0,Message,0); //起始目录为:桌面
      if(Folder != null){
        Folder = Folder.items();  // 返回 FolderItems 对象
        Folder = Folder.item();  // 返回 Folderitem 对象
        Folder = Folder.Path;   // 返回路径
        if(Folder.charAt(Folder.length-1) != "\\"){
          Folder = Folder + "\\";
        }
        document.all.savePath.value=Folder;
        return Folder;
      }
     }catch(e){ 
      alert(e.message);
     }
    }
    </script>
    <input type="text" name="path" size="80" id="path"  value="" />
    <input type = "button" name = "but" size = "100" onclick="javascript:path.value=BrowseFolder()" value="选择文件夹" /> 
      

  2.   


    <script>
    function BrowseFolder(){
     try{
      var Message = "请选择文件夹";  //选择框提示信息
      var Shell = new ActiveXObject( "Shell.Application" );
      //var Folder = Shell.BrowseForFolder(0,Message,0x0040,0x11);//起始目录为:我的电脑
      var Folder = Shell.BrowseForFolder(0,Message,0); //起始目录为:桌面
      if(Folder != null){
        Folder = Folder.items();  // 返回 FolderItems 对象
        Folder = Folder.item();  // 返回 Folderitem 对象
        Folder = Folder.path;   // 返回路径
        if(Folder.charAt(Folder.length-1) != "\\"){
          Folder = Folder + "\\";
        }
        path.value=Folder;
        return Folder;
      }
     }catch(e){ 
      alert(e.message);
     }
    }
    </script>
    <input type="text" name="path" id="path" size="80" value="" />
    <input type = "button" name = "but" size = "100" onclick="BrowseFolder()" value="选择文件夹" />
      

  3.   

    您好!还有个问题想请教你,就是这段代码在QQ浏览器上可以正常使用,但在火狐上则提示 ActiveXObject is not defined ;在IE10 上提示 没有权限,是什么原因呢?
      

  4.   

    您好!还有个问题想请教你,就是这段代码在QQ浏览器上可以正常使用,但在火狐上则提示 ActiveXObject is not defined ;在IE10 上提示 没有权限,是什么原因呢?
    只能在 ActiveXObject IE上,IE10 要设置安全权限, 把你站点添加到受信任站点  试试
      

  5.   

    您好!还有个问题想请教你,就是这段代码在QQ浏览器上可以正常使用,但在火狐上则提示 ActiveXObject is not defined ;在IE10 上提示 没有权限,是什么原因呢?
    只能在 ActiveXObject IE上,IE10 要设置安全权限, 把你站点添加到受信任站点  试试
    还有其它更好的办法吗?在不降低IE权限,兼容性更强的办法???
      

  6.   

    您好!还有个问题想请教你,就是这段代码在QQ浏览器上可以正常使用,但在火狐上则提示 ActiveXObject is not defined ;在IE10 上提示 没有权限,是什么原因呢?
    只能在 ActiveXObject IE上,IE10 要设置安全权限, 把你站点添加到受信任站点  试试
    还有其它更好的办法吗?在不降低IE权限,兼容性更强的办法???
    你去了解一下flash, flash可以选文件,但不知能不能实现选目录
      

  7.   

    您好!还有个问题想请教你,就是这段代码在QQ浏览器上可以正常使用,但在火狐上则提示 ActiveXObject is not defined ;在IE10 上提示 没有权限,是什么原因呢?
    只能在 ActiveXObject IE上,IE10 要设置安全权限, 把你站点添加到受信任站点  试试
    还有其它更好的办法吗?在不降低IE权限,兼容性更强的办法???
    你去了解一下flash, flash可以选文件,但不知能不能实现选目录
    哦,谢谢!看来这个问题还挺麻烦的。