【发布时间】:2013-04-23 22:28:12
【问题描述】:
我有一个file <input> field 和一个<span> 装饰输入字段:
<span class="span5 btn btn-primary btn-file" id="chose_files_btn" onclick="filechose_button.click()">chose files
<input id="filechose_button" type="file" name="fileData" size="1" style="display: none"/>
</span>
虽然我认为在 Chrome 和 Safari 中的行为是这样的,但 FireFox 会打开 两个 @987654325 @点击button(span)。
为什么会这样?
我假设,该文件输入字段是不可见的,只能通过具有按钮行为的跨度访问它。
更新:
如果我将<input> 放在<span> 之外,它会正常运行。
<span class="span5 btn btn-primary btn-file" id="chose_files_btn" onclick="filechose_button.click()">chose files</span>
<input id="filechose_button" type="file" name="fileData" size="1" style="display: none"/>
但是为什么inside position 没有呢?
【问题讨论】:
-
您是否尝试过将 onclick 放在输入标签中?
-
从 span 中移除 onclick 并查看..
-
不,但我应该做输入可渲染(它打破了跨度元素)
-
我相信 filechose_button.click() 正在这样做。删除 .click()
-
删除文件chose_button.click() 使按钮失效。
标签: javascript firefox file-upload html-input input-field