- 浏览: 204359 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
listen-raining:
你好。 我是这样写的: JButton b4=new ...
swing 初级学习(四)模式窗口取返回值 -
liu765023051:
灰常感谢~~
同一台机器上配置多个jboss应用服务器实例 -
Mr_Monotony:
为什么我按照这个写了不行啊?。。 只有自己才能看到信息。 而且 ...
Dwr推送技术学习 -
不过是过客:
太厉害了,IE上推送有问题,到处找,看到大哥这个试了一盘,没问 ...
Dwr推送技术学习
自己写一个js读取本地硬盘的选择框, 缺点是外观上较上一个差一些
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ page import="com.zzst.application.meeting.util.*"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
</head>
<body>
<table border="0" cellpadding="0" width="100%" id="tb_show">
<tr>
<td width="18%">文件保存位置:</td>
<td width="82%">
<%--<html:file property="file" size="40" styleClass="inputbox"/>--%>
<input name="backDir" type="text" value ="C:\" size="100" width="500">
</td>
</tr>
<tr>
<td>目录位置:</td>
<td>
<select name="tables_drive" id="tables_drives" onchange="get_drives()" ></select>
</td>
</tr>
<tr>
<td colspan="2">
<select name="table_folder" id="table_folder" size="10" multiple ondblclick="get_file()"></select>
</td>
</tr>
<tr>
<td colspan="2">
<font color="red">说明:双击列表框的一个选项,就将该文件夹下面的文件夹显示在该列表框中。第一个就是根目录</font>
</td>
</tr>
</table>
</body>
</html>
<script>
/**//*
*初始化,将系统所有的驱动器放入table_drives列表
*/
window.onload = new function init()
{
var fso, s, n, e, x;
fso = new ActiveXObject("Scripting.FileSystemObject");
e = new Enumerator(fso.Drives);
s = "";
for (; !e.atEnd(); e.moveNext())
{
x = e.item();
s = s + x.DriveLetter;
s += ":";
if (x.DriveType == 3)
n = x.ShareName;
else if (x.IsReady)
n = x.VolumeName;
else
n = "[驱动器未就绪]";
s += n + ",";
}
var drives = s.split(",");
var tableDrives = document.getElementById("tables_drives");
for ( var i = 0; i < drives.length-1; i++ )
{
var option = document.createElement("OPTION");
drives[i].split(":");
option.value = "["+drives[i].split(":")[0]+":]"+drives[i].split(":")[1];
option.text = "["+drives[i].split(":")[0]+":]"+drives[i].split(":")[1];
tableDrives.add(option);
}
}
/**//*
*tables_drives列表中选中的驱动器上所有文件夹放入table_folder列表中
*/
function get_drives()
{
var tableDrives = document.getElementById("tables_drives");
var tableFolders = document.getElementById("table_folder");
for ( var i = 0; i < tableDrives.options.length; i++ )
{
if ( tableDrives.options[i].selected == true )
{
var fso, f, fc, s;
var drive = tableDrives.options[i].value.split(":")[0].substring(1,tableDrives.options[i].value.split(":")[0].length);
document.getElementById("backDir").value = drive + ":\\";
fso = new ActiveXObject("Scripting.FileSystemObject");
if (fso.DriveExists(drive))
{
d = fso.GetDrive(drive);
if ( d.IsReady )
{
f = fso.GetFolder(d.RootFolder);
fc = new Enumerator(f.SubFolders);
s = "";
for (;!fc.atEnd(); fc.moveNext())
{
s += fc.item();
s += ",";
}
var len = tableFolders.options.length;
while(len >= 0)
{
tableFolders.options.remove(len);
len--;
}
var option = document.createElement("OPTION");
option.value = drive + ":\\";
option.text = drive + ":\\";
tableFolders.add(option);
var folders = s.split(",");
for ( j = 0; j < folders.length -1; j++)
{
option = document.createElement("OPTION");
option.value = folders[j];
option.text = folders[j];
tableFolders.add(option);
}
}
else
{
alert("无法改变当前内容!")
}
}
else
return false;
}
}
}
/**//*
*table_folder双击选项中的一个选项,就将该文件夹下面的文件夹显示在table_folder列表中。
*/
function get_file()
{
var tableFolders = document.getElementById("table_folder");
var tableDrives = document.getElementById("tables_drives");
for ( var i = 0; i < tableFolders.options.length; i++ )
{
if ( tableFolders.options[i].selected == true )
{
var fso, f, fc, s;
var folderpath = tableFolders.options[i].value.substring(0,tableFolders.options[i].value.length);
if ( folderpath.charAt(folderpath.length-1) == "\\" )
{
document.getElementById("backDir").value = folderpath;
}
else
{
document.getElementById("backDir").value = folderpath + "\\";
}
fso = new ActiveXObject("Scripting.FileSystemObject");
f = fso.GetFolder(folderpath);
fc = new Enumerator(f.SubFolders);
s = "";
for (;!fc.atEnd(); fc.moveNext())
{
s += fc.item();
s += ",";
}
var len = tableFolders.options.length;
while(len >= 0)
{
tableFolders.options.remove(len);
len--;
}
var opt = "";
var opt1 = "";
for ( j = 0; j < folderpath.split("\\").length; j++ )
{
var option = document.createElement("OPTION");
opt = opt + folderpath.split("\\")[j]+"\\";
if ( j > 0)
{
opt1 = opt;
option.value = opt1.substring(0,opt1.length-1);
option.text = opt1.substring(0,opt1.length-1);
tableFolders.add(option);
}
else
{
option.value = opt;
option.text = opt;
tableFolders.add(option);
}
}
if ( tableFolders.options[0].value == tableFolders.options[1].value )
{
tableFolders.options.remove(1);
}
if ( s != "" )
{
var folders = s.split(",");
for ( j = 0; j < folders.length -1; j++)
{
option = document.createElement("OPTION");
option.value = folders[j];
option.text = folders[j];
tableFolders.add(option);
}
}
}
}
}
</script>
发表评论
-
JQuery UI - droppable
2012-02-21 16:24 1240·概述 配合draggable ... -
jquery ui drap
2012-02-21 16:02 1004[原文翻译] JQuery UI Draggable插件用来使 ... -
js读写COOKIE
2012-02-15 13:55 1397js实现记住帐号或密码(js读写COOKIE) ... -
JS中获取request的值,非常好用的JS代码
2012-02-15 13:50 11007JS中获取request的值,非常好用的JS代码 项目中 ... -
js math
2010-08-10 11:48 2153.丢弃小数部分,保留整 ... -
ajax 再学习(三)简单示例
2010-07-13 11:31 814实现简单流程,需要2步: 1、ajaxTest.htm ... -
ajax 再学习(二)
2010-07-13 11:06 907XMLHttpRequest对象的三个属性: 1、on ... -
ajax 再学习(一)
2010-07-13 11:01 809//根据不同的浏览器创建相应的XMLHttpRequest对象 ... -
js
2010-07-12 17:42 833<!DOCTYPE HTML PUBLIC " ... -
js radio(一)
2010-04-08 20:04 1263取页面的值 <script> f ... -
js 控制 Windows Media Player
2010-02-19 19:27 6029Windows Media Player html: &l ... -
DWR 传递数组、MAP参数
2010-01-06 16:15 3202js部分: function aa(){ ... -
js 计算器(二)
2009-12-21 11:18 922简单实现基本运算 <%@ page langua ... -
js 计算器
2009-12-21 11:17 1274科学计算器 <%@ page language= ... -
window open
2009-12-10 15:25 825window.open("*.jsp",& ... -
IE功能汇集(三)
2009-12-10 14:13 812<body><SCRIPT LANGUA ... -
IE功能汇集(二)
2009-12-10 14:12 916鼠标自定义 <script language ... -
IE功能汇集(一)
2009-12-10 14:11 790其实这篇文章我在asp版 ... -
打开服务器上的文件
2009-12-01 14:25 931<script type="text/java ... -
jsewweweew
2009-11-25 15:22 660<% pageContext.setAttribute( ...
相关推荐
javascript文件夹选择框的两种解决方案 两种解决方案,在一个HTML中,比较易懂,可以一看,呵呵!
NULL 博文链接:https://5211422.iteye.com/blog/521393
javascript文件夹选择框的两种解决方案 怎么都有缺陷啊。不过更倾向于第一种
1,弹出框显示包括info, warning, success, error, normal五种预定义样式,也可自定义; 2,支持自动关闭和点击关闭,放了关闭监听函数和点击消息框监听函数,放在增加后续行为; 3,放了获取消息和更新消息状态的...
本文给大家介绍js点击点击某个图标或按钮弹出文件选择框的实现代码,代码简单易懂,非常不错,感兴趣的朋友可以参考下
主要介绍了js/jq仿window文件夹框选操作插件,非常不错,具有参考借鉴价值,需要的朋友可以参考下
//选择框提示信息 var Shell = new ActiveXObject( “Shell.Application” ); var Folder = Shell.BrowseForFolder(0,Message,0x0040,0x11);//起始目录为:我的电脑 //var Folder = Shell.BrowseForFolder(0,...
JS要实现下载功能,一般都是这么几个过程:生成下载的URL,动态创建一个A标签,并将其href指向生成的URL,然后触发A标签的单击事件,这样就会弹出下载对话框,从而实现了一个下载的功能。 这里所说的下载,有时候也...
Node.JS是一个控制台程序,...打开文件夹选择框等。这里使用dialog,即可弹出系统消息提示框: const { app , BrowserWindow , Menu , Tray , shell , dialog , ipcMain } = require('electron') var parseCom
本文实例为大家分享了bootstrap icheck选择框插件,供大家参考,具体内容如下 icheck官网:http://www.bootcss.com/p/icheck/#skin-square 1.到官网下载Icheck压缩包。 2.解压后找到 icheck.min.js, jquery.js, ...
//选择框提示信息 var Shell = new ActiveXObject( "Shell.Application" ); var Folder = Shell.BrowseForFolder(0,Message,0x0040,0x11);//起始目录为:我的电脑 //var Folder = Shell.BrowseForFolder(0,Message,...
jQuery.dragToSelect 使用此插件,您的用户可以通过拖动“选择框”来选择某些元素。 与大多数OS中的n拖动文件和文件夹的方式非常相似。安装npm npm install jquery-drag-to-select --save凉亭 bower install jquery-...
字体选择器菜单一个简单的字体选择器使用Javascript,PHP和CSS来构造文件夹中字体的复选框菜单。 选择器还允许选择背景颜色。 选择器结果存储为SESSION变量。 这是一个在线演示的链接
使用ACTIVEX对象遍历本地磁盘和目录,只需网页启用相关ACTIVEX的INTERNET选项即可实现路径选择对话框,感兴趣的你可以参考下哈希望可以帮助到你
您可以再次选择任意数量的文件夹,为以下内容选择或创建单独的文件夹图片和视频,然后单击开始排序。 它将扫描所有选定文件夹中的图像以查找图像和视频,将它们添加到阵列中并在单独的选定文件夹中进行排序。 优点 ...
7.当WdatePicker.js里的属性:$wdate=true时,在input里加上class="Wdate"就会在选择框右边出现日期图标,如果您不喜欢这个样式,可以把class="Wdate"去掉,另外也可以通过修改skin目录下的WdatePicker.css文件来修改样式
layui的多选下拉框可以使用 xm-select 插件实现,同时可使用以下相关js属性 - prop 设置显示和存储值的字段 - tips 提示信息 - lay-verify 校验规则 - lay-search 搜索功能 ...解压后-dist文件夹下面的xm-select.js包
1、本后台模板为原创 2、代码简洁,基于jquery 3、框架窗口实现可拖可拽,自由获取焦点切换 4、并附有状态栏可实现切换 ...6、适合初学者学习布局与js学习带注释 7、有BUG欢迎留言,大家一起探讨学习
路由只是组成部分,与文件夹结构无关。 静态路由配置很好。 Next.js的getInitialProps是一个好主意。 基于路由的代码拆分应该是免费的或易于选择。 基于路线的转换/分析/数据加载/预加载等,应该免费提供,也...
├── js/(js文件夹,包含框架主要的js及示例、插件的js文件) ├── plugins/(存放Flash等插件) ├── 404.html(404页面) ├── 500.html(500页面) ├── agile_board.html(任务清单) ├── ...