-1

当我们在 html 中上传文件时,基本上我们会写

<input type="file" />

这段代码给出了ChooseFile按钮,no file chosen

但我想要的是创建一个超链接并单击超链接使其像输入type="file"类型一样工作 - 例如:

<a href="#" >ChooseFile</a>

有什么建议么?

4

4 回答 4

1

不要认为您可以设置超出特定限制的 input=file 按钮的样式,

检查这些链接

http://www.quirksmode.org/dom/inputfile.html

样式输入类型文件?

或者您可以尝试一个现成的插件来为您完成这项工作

https://github.com/blueimp/jQuery-File-Upload

于 2013-04-23T10:36:49.280 回答
1

我想这对你有帮助..

<!DOCTYPE html>
    <html>
    <body>

    <p>Click on one of the text labels to toggle the related control:</p>

    <div>
      <a href='#UPLOAD' >Upload a file</a>  
      <input type='file'  name='file1'  
           style='cursor:pointer; opacity:0.01; alpha(opacity=1); position:relative; z-index:200; left: -10em; margin:-0.3em;' />   
    </div>

    </body>
    </html>
于 2013-04-23T10:47:34.917 回答
0

尝试使用现有的 jquery 插件来上传文件,我推荐这个:http ://blueimp.github.io/jQuery-File-Upload/

于 2013-04-23T10:36:40.080 回答
0

你最好的选择是使用一个有据可查的技巧,最终将文件输入元素隐藏为一个 div 的子元素,该元素的样式可以满足你的需求。我说这是有据可查的,因为它是 SO 上的一个非常常见的常见问题解答,并且在互联网上的许多其他网站和博客文章中都有介绍。

不要使用 javascript 来单击您的文件输入元素。您可能会遇到浏览器设置的安全限制。有些浏览器甚至可能不允许这样做。当/如果您在使用 javascript 单击文件输入元素后尝试通过 javascript 发送文件时,其他诸如 IE 将引发安全错误。

如果您想避免重新发明轮子,您可以使用预先构建的库来为您处理跨浏览器文件上传的复杂性。我推荐Fine Uploader。它得到了很好的支持,非常活跃,并且发展迅速。完全披露:我是这个库的主要维护者。

于 2013-04-23T13:32:38.137 回答