按钮显示选择要上载的文件对话框
而不是使用input type="file"
html标记,是否可以通过单击input type="button"
出choose a file to upload
对话框? 然后,当从choose a file to upload
对话框中choose a file to upload
,文件路径会插入到常规的html input type="text"
标记中吗?
我似乎gmail做了类似的事情,但没有按钮和文本输入,他们只是有一个链接add file
或类似的东西。 单击该链接后,将显示select file(s) to upload by mail.google.com
对话框select file(s) to upload by mail.google.com
的select file(s) to upload by mail.google.com
。 单击文件时,屏幕上会显示文件名。
他们是怎么做到的?
我认为大多数浏览器都出于安全考虑而将其锁定。 可以通过JavaScript操作按钮和文本框。 文件输入框不能,并且有充分的理由; 想象一下如果javascript可以打开一个对话框,设置系统上敏感文件的路径,然后模拟按钮点击下载文件!
顺便说一下,如果你想要设计风格,也许这样可行: http : //www.quirksmode.org/dom/inputfile.html
try this
试试这个。 我觉得它很有用.. 🙂
检查这个小提琴: http : //jsfiddle.net/A4BS7/1/
注意:
a)这可能不适用于不在文件输入上触发更改事件的旧浏览器(主要是IE)。
b)为了使上传按预期工作,您需要在表单中包含元素。 text元素可用于最佳显示所选文件。
无法根据需要更改input[type=file]
,它是纯粹的原生表单元素。
此外,出于安全原因,您将无法获取文件的路径。 旧的IE版本显示了路径,但不再是新版本的情况,你无论如何都无法对服务器端的路径做任何事情。
虽然有一些风格的方法:
- 样式文件上载/选择输入控件
- 样式输入类型=“文件”
- 使用CSS和DOM设置文件输入样式
看看plupload ,我已经多次使用它来处理文件上传。