为什么这个文件输入不能在IE中填充
why does this file input not populate in IE
嗨,我试图有div样式作为一个按钮,当点击打开一个隐藏的文件浏览器为您选择一个文件。然后选中的文件出现在隐藏文件输入中(我在下面取消了隐藏)
所有浏览器都可以正常工作,除了IE(哼!)
我的代码是:<div id="TileImageUpload" style="border:1px solid #000000; padding:5px;"> Upload an image</div>
<br/>
<form action="uploadImage.php" target="upload_target" id="TileUploadImageForm" enctype="multipart/form-data" method="post" accept-charset="utf-8">
<div style="display:none;"><input type="hidden" name="_method" value="POST"/></div>
<input type="file" name="data[Tile][image]" id="TileImage"/>
<input type="submit" value="Submit">
</form>
<iframe id="upload_target" name="upload_target" src="#" ></iframe>
, javascript是:
$('#TileImage').change(function() {$('#TileUploadImageForm').submit();});
$('#TileImageUpload').click(function(){$('#TileImage').click();});
a fiddle: http://jsfiddle.net/NVpHY/1/
有谁能开导我一下吗?
我认为IE不喜欢隐藏的输入,一个解决办法是使用标签标签与输入。IE和大多数其他浏览器将打开文件浏览器,如果单击文件输入的标签,以及如果您点击实际输入。然后,您需要隐藏文件输入,将其从屏幕上移除,而不是将其设置为隐藏。
我在这里找到了一个完整的工作示例:http://jsfiddle.net/djibouti33/uP7A9/
<form id="uploader-form" action="http://hotblocks.nl/_http_server.php">
<label for="fileinput" id="link" class="trigger-file-input">Link Label</label>
<input type="file" id="fileinput" />
</form>
JS
$('#fileinput').on("change", function() {
$('#uploader-form').submit();
});
if($.browser.mozilla) {
$('.trigger-file-input').click(function() {
$('#fileinput').click();
});
}
css #fileinput { position: absolute; left: -9999em; }
#link { color: #2a9dcf; font-size: 16px; }
#link:hover { text-decoration: underline; cursor: pointer; }
相关文章:
- 如何设置html元素填充的动画
- 如何使用jquery在填充自动完成的值后使文本框只读
- 如何通过ajax刷新JSF填充的javascript变量
- 为什么这在IE中的工作方式与在Firefox中不同
- 后焦点更改为IE 11中的地址栏,而不是转移到表单中的下一个控件
- 用与线条相同的颜色填充多折线图上的点
- 如何在读取XLS/XLSX本地文件时,使用IE的javascript代码启用未标记为安全的ActiveX控件
- 用每小时的差值填充数组/列表-从下拉列表中给定两个时间值
- jQuery blueimp文件上传:将N-1个文件上传到IE中的服务器
- 带有填充属性的SVG矩形显示在包含元素的上方插入框阴影
- 用我的json数据填充JQuery DataTable
- IE JavaScript参数和填充输入字段
- 文本区域在IE 10中填充了[object HTMLMetaElement]
- 在Firefox和IE中,向按钮添加填充可以向下推其他按钮
- 级联下拉列表未填充在 IE 9(代码点火器)中
- 未在IE中填充的列表框在FF和Chrome中工作
- PHP 填充下拉列表与 ajax onchange 问题 IE 仅限
- IE 11 的模板标记填充 - 不适用于表 tr 和 td
- 为什么这个文件输入不能在IE中填充
- 在IE中模拟/填充history.pushstate()