js中用链接实现打开本地文件对话框

我知道可以使用<input type='file'>来实现,这个显示的是一个文本输入框和一个“浏览”按钮。我现在不想要显示这两个对象。我只想要一个链接(即点下“打开本地文件”链接,就会出现对话框)。 我的想法的代码如下:(请问在script中如何写?)
<script>
function showDia(){

}
</script>
<body>
<a href="#" onclick="showDia();">打开本地文件</a>
</body>

JS打开选择本地文件的对话框:

方法一:

在定义的form中添加以下javascript代码:

{
              anchor : '95%',
              xtype: 'fileuploadfield',
              id: 'form-file',
              emptyText: '请选择',
              fieldLabel: '上传附件',
              name: 'meetingAffix',
              buttonText: 'Browse'
    }

单击Browse按钮后可以打开对话框,选中文件后,所选文件路径会出现在上传附件后面的文本框中。

方法二:

在定义的form中添加以下javascript代码:

{
      columnWidth :1,
      layout :'form',
      bodyStyle :'padding:10px',
      defaultType :'textfield',
      labelWidth :120,
      width :1000,
      buttonAlign :'center',
      items : [ {
       fieldLabel :'请选择要上传的文件',
       name :'fileName',
       id :'fileId',
       anchor :'95%',
      allowBlank :false,
       inputType :'file'
      } ]
}

方法三:

给按钮定义以下javascript函数:

var inputObj=document.createElement('input')
         inputObj.setAttribute('id','_ef');
         inputObj.setAttribute('type','file');
         inputObj.setAttribute("style",'visibility:hidden');
         document.body.appendChild(inputObj);
         inputObj.click();
         inputObj.value ;

单击已经添加函数的按钮会弹出选择本地文件的对话框。

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-09-17
/* 用如下代码把该函数应用到一个HTML文件中:
<script src="browseFolder.js"></script>
或把下面代码直接COPY到<script language="javascript">...</script>标签中;

用一般的触发函数均可在HTML文件中使用该函数
例如:<input type="button" onclick="BrowseFolder()" />
注意:请定义NAME为savePath的输入框接收或显示返回的值,例如:
<input type="text" name="savePath" />
特别注意的是,由于安全方面的问题,你还需要如下设置才能使本JS代码正确运行,
否者会出现"没有权限 "的问题.

1、设置可信任站点(例如本地的可以为:http://localhost
2、其次:可信任站点安全级别自定义设置中:设置下面的选项
"对没有标记为安全的ActiveX控件进行初始化和脚本运行"----"启用 "
*/

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);
}
}
第2个回答  推荐于2017-09-09
你可以这样实现:
<div style="position:relative;">
<a href="#" >打开本地文件</a>
<input type='file' style="opacity:0;filter:alpha(opactiy=0);position:absolute;top:0;left:0;width:200px;height:20px;cursor:pointer;">
</div>追问

很不错,非常感谢,请问在这里怎么得到选择文件的路径呢?

追答

你获取<input type='file'..这个的value值即可

本回答被提问者采纳
第3个回答  2012-04-18
js做不了,涉及js对本地资源访问的限制。你可以试试了解通过js如何call windows api

js中用链接实现打开本地文件对话框
JS打开选择本地文件的对话框:方法一:在定义的form中添加以下javascript代码:{ anchor : '95%', xtype: 'fileuploadfield', id: 'form-file', emptyText: '请选择', fieldLabel: '上传附件', name: 'meetingAffix', buttonText: 'Browse' }单击Browse按钮后可以打开...

js中用链接实现打开本地文件对话框
1、设置可信任站点(例如本地的可以为:http:\/\/localhost )2、其次:可信任站点安全级别自定义设置中:设置下面的选项 "对没有标记为安全的ActiveX控件进行初始化和脚本运行"---"启用 "\/ function BrowseFolder(){ try{ var Message = "请选择文件夹"; \/\/选择框提示信息 var Shell = new Activ...

如何用JS点击超链接弹出对话框
1、在body里面布局,把对话框的大致结构写出来。2、写css样式,让对话框在网页上体现出来。3、得到如下图样式,结构完成。4、最后就是写js样式,让我们的对话框达到一定的效果。5、点击超链接弹出对话框。

javascript调用本地程序(调用js文件中的方法)
1,运行window,输入regedit打开注册表。在HKEY_CLASSES_ROOT下面建一个自己起的名字的表。用如下格式把各项值添上:js打开qq音乐.exe 启动应用 end.javascript能做本地程序吗可以的。使用javascript构建本地程序一般需要如下环境:一个js引擎,一个界面工具。js引擎:目前都是用nodejs,nodejs是基于chrome...

用js如何实现点击按钮打开一个指定路径下的文件
1、首先打开计算机,然后打开js,在里面创建一个html文件“test”。2、然后在test文件中添加一个html的框架。3、然后添加两个input,一个是button,一个是file把id设置为“open”style类型设置为“display:none”不显示。4、打开后发现只显示这一个“打开文件”按钮。5、现在给button添加onclick事件,...

【HTML】前台页面调出文件另存为对话框几种方法
调用JS方法document.execCommand即可在前台页面调出另存为对话框,并将将服务器上存放的文件保存到本地。这里有个很好的例子:HTML页面另存为对话框DEMO.rar代码:<scriptlanguage='javascript'type='text\/javascript'functiongetimg()\/\/另存为存放在服务器上图片到本地的方法{event.returnValue=false;show....

js如何打开一个新窗口js如何打开一个新窗口快捷键
4.打开后,只会显示这个“打开文件”按钮。5.现在将onclick事件添加到按钮中,并调用openfile来触发ID为“open”的文件。6.现在在浏览器中点击“打开文件”,会弹出选择文件路径的对话框。js怎样获取所有打开的浏览器地址?js中通过window.location.href和document.location.href、document.URL获取当前浏览...

用js怎么实现弹出个选择文件的对话框?
可以实现的,大概的思路是这样:1.先新建一ASP页(不知道你用什么来做的,就以asp为例吧),该页的作用是读取服务器上某个目录下的所有文件,并显示文件列表,做出类似选择文件对话框的样子。具体代码网上有很多,你以“asp 遍历文件夹”作为关键字在baidu或google中搜一下。2.在“修改”按钮上使用...

html中如何用js实现“文件”选择对话框,不是“文件夹”选择对话框
html中如何用js实现“文件”选择对话框,不是“文件夹”选择对话框 varShell=newActiveXObject("Shell.Application");varFolder=Shell.BrowseForFolder(0,Message,0);上述两句只是实现文件夹选择的对话框... var Shell = new ActiveXObject( "Shell.Application" ); var Folder = Shell.BrowseForFolder(0,Message,0)...

js打开文件对话框
如果不限制图像的格式,可以写为:accept="image\/*"。简单的测试了一下只能在IE浏览器中有用。

相似回答