我想让输入类型=“文件”变得可用,并且仅在我点击某个元素时单击,该元素也被激活(例如,程式化的跨度)。
为此我在span上有Javascript参数:
onclick="document.getElementById('upload_hidden').Disabled = false;
document.getElementById('upload_hidden').Click();"
但问题是在Firefox中只有第一次单击才会删除输入属性,第二次 - 打开文件选择窗口。在Chrome中 - 一切正常:输入已启用,并在第一次点击时点击。
为什么,首次点击Firefox不起作用? :(
P.S。在firefox v21中 - 一切OK。 Firefox v25和v26 - 有这个麻烦。
答案 0 :(得分:1)
我可以想象当它试图点击按钮时脚本已经领先 - 但按钮仍然被禁用
var f = document.getElementById('f');
var s = document.getElementById('s');
s.onclick = function () {
f.removeAttribute('disabled');
setTimeout(function(){ f.click(); }, 100); // run the explorer after 100 ms
}
这确实有效。