JavaScript 再发选择路径的问题? 不是上一贴回答问题的朋友理解错-----------不使用 ActiveX 不涉及到权限按目前市面上的浏览器, 没辙了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不用ActiveX用Applet行么-_-!不过不管用什么权限问题始终存在HTML肯定是没有提供相关的控件来实现这个功能的,Javascript更不可能访问到本地资源(如果真的可以那不知道已经造就了多少灌希哥了)。有一点我很不明白,如果不用ActiveX一类的东西,选择了文件夹又有什么用呢?你也不可能对它进行任何操作。如果要上传到服务器,那本地文件夹地址也是没有意义的啊。 给楼主个思路像下面这样做, 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> 晕,理解错了楼主可以直接用type=file, FORM提交后从后台去剥离出路径 意思是还是用选择文件那种控件,选出来之后会得到文件的完整路径,再自己解析一下把文件名前面的路径弄出来。我觉得这种问题只能是靠ActiveX, Applet之类第三方的东西 我也碰到这个问题,用ActiveXObject把功能实现了,可是也涉及到权限问题,很麻烦.更可恶的是有的机器明明已经加了权限可还是打不开...郁闷中... 看看这个可以吗?<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="选择文件夹路径" /> 在var f= Shell.BrowseForFolder(0, Message, 64, 17); 这一行报 [object error] 错误,被捕获,弹出来了... 晕倒,你是不要ACTIVEX的,上面的有权限问题,那个错误就是。呵呵我是用.hta文件测试的,没看你的要求,汗~~那只要自己模拟一个了,做个SELECT,用FSO把盘符都装进去,下面做个列表框,选了某一个盘符后就让FSO遍历。然后把那个盘的一级目录名装进列表框,。。 我要在jsp里用的,FSO恐怕也不行吧... 求正则表达式一枚,正则达人进来看看~~ 怎样通过文本链接实现上传功能 讨论提交 onsubmit onclick 关于动态添加/删除/移动表格行的问题 超链接点击后链接本页 但显示超链接的文字改变 怎么给javacript变量赋值 javascript 怎么获得 服务器控件 dropdownlist的值? 关于菜单显示相关问题,求代码 请问大虾:如何一打开页面马上把焦点定在一个文本框上啊(急,在线等) 如何改变iframe滚动条的外观(如宽度、颜色、及自定义图片等),需ie5.0支持 EXT如何实现下拉框与文本框的联动? 返回数据应该是什么样子的。。。
不过不管用什么权限问题始终存在
HTML肯定是没有提供相关的控件来实现这个功能的,Javascript更不可能访问到本地资源(如果真的可以那不知道已经造就了多少灌希哥了)。
有一点我很不明白,如果不用ActiveX一类的东西,选择了文件夹又有什么用呢?你也不可能对它进行任何操作。如果要上传到服务器,那本地文件夹地址也是没有意义的啊。
像下面这样做, 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>
楼主可以直接用type=file, FORM提交后从后台去剥离出路径
更可恶的是有的机器明明已经加了权限可还是打不开...郁闷中...
<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="选择文件夹路径" />
在
var f= Shell.BrowseForFolder(0, Message, 64, 17);
这一行报 [object error] 错误,被捕获,弹出来了...
我是用.hta文件测试的,没看你的要求,汗~~那只要自己模拟一个了,做个SELECT,用FSO把盘符都装进去,下面做个列表框,选了某一个盘符后就让FSO遍历。然后把那个盘的一级目录名装进列表框,。。