JS获取文件夹路径问题

zyz_0420 2013-09-17 09:18:26
<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" 的文本框中?
...全文
511 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
fzfei2 2013-09-17
  • 打赏
  • 举报
回复

<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="选择文件夹" />
fzfei2 2013-09-17
  • 打赏
  • 举报
回复
<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="选择文件夹" />
zyz_0420 2013-09-17
  • 打赏
  • 举报
回复
引用 6 楼 fzfei2 的回复:
[quote=引用 5 楼 zyz_0420 的回复:] [quote=引用 4 楼 fzfei2 的回复:] [quote=引用 3 楼 zyz_0420 的回复:] [quote=引用 2 楼 fzfei2 的回复:]

<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="选择文件夹" />
您好!还有个问题想请教你,就是这段代码在QQ浏览器上可以正常使用,但在火狐上则提示 ActiveXObject is not defined ;在IE10 上提示 没有权限,是什么原因呢?[/quote] 只能在 ActiveXObject IE上,IE10 要设置安全权限, 把你站点添加到受信任站点 试试[/quote] 还有其它更好的办法吗?在不降低IE权限,兼容性更强的办法???[/quote] 你去了解一下flash, flash可以选文件,但不知能不能实现选目录[/quote] 哦,谢谢!看来这个问题还挺麻烦的。
fzfei2 2013-09-17
  • 打赏
  • 举报
回复
引用 5 楼 zyz_0420 的回复:
[quote=引用 4 楼 fzfei2 的回复:] [quote=引用 3 楼 zyz_0420 的回复:] [quote=引用 2 楼 fzfei2 的回复:]

<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="选择文件夹" />
您好!还有个问题想请教你,就是这段代码在QQ浏览器上可以正常使用,但在火狐上则提示 ActiveXObject is not defined ;在IE10 上提示 没有权限,是什么原因呢?[/quote] 只能在 ActiveXObject IE上,IE10 要设置安全权限, 把你站点添加到受信任站点 试试[/quote] 还有其它更好的办法吗?在不降低IE权限,兼容性更强的办法???[/quote] 你去了解一下flash, flash可以选文件,但不知能不能实现选目录
zyz_0420 2013-09-17
  • 打赏
  • 举报
回复
引用 4 楼 fzfei2 的回复:
[quote=引用 3 楼 zyz_0420 的回复:] [quote=引用 2 楼 fzfei2 的回复:]

<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="选择文件夹" />
您好!还有个问题想请教你,就是这段代码在QQ浏览器上可以正常使用,但在火狐上则提示 ActiveXObject is not defined ;在IE10 上提示 没有权限,是什么原因呢?[/quote] 只能在 ActiveXObject IE上,IE10 要设置安全权限, 把你站点添加到受信任站点 试试[/quote] 还有其它更好的办法吗?在不降低IE权限,兼容性更强的办法???
fzfei2 2013-09-17
  • 打赏
  • 举报
回复
引用 3 楼 zyz_0420 的回复:
[quote=引用 2 楼 fzfei2 的回复:]

<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="选择文件夹" />
您好!还有个问题想请教你,就是这段代码在QQ浏览器上可以正常使用,但在火狐上则提示 ActiveXObject is not defined ;在IE10 上提示 没有权限,是什么原因呢?[/quote] 只能在 ActiveXObject IE上,IE10 要设置安全权限, 把你站点添加到受信任站点 试试
zyz_0420 2013-09-17
  • 打赏
  • 举报
回复
引用 2 楼 fzfei2 的回复:

<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="选择文件夹" />
您好!还有个问题想请教你,就是这段代码在QQ浏览器上可以正常使用,但在火狐上则提示 ActiveXObject is not defined ;在IE10 上提示 没有权限,是什么原因呢?

87,904

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧