所以我有一个像这样的表单提交设置
<button>edit a photo</button>
<form style="visibility: hidden;">
<input type="file" id="file" name="file" val=""/>
<input type="submit" name="submit">
</form>
我的javascript看起来像这样
$("#edit-button").click(function() {
$("#file").click();
});
$("#file").change(function() {
//submit form
});
起初我认为IE9可能无法识别来自Jquery的.change事件,但是我注意到如果取消隐藏我的表单并直接单击它,则会触发更改功能。如果我使用编辑按钮激活浏览,那么即使更改了.change也无法正常工作。
我猜想当我单击文件输入的“浏览”按钮时,它不会像$(“#file”)那样被读取。单击()。有人知道解决这个问题的方法吗?
答案 0 :(得分:0)
我正在猜测正在发生的事情,因为你的处理程序没有绑定到不可见的形式(有时是这种情况)。
尝试:
// document or some other container
$(document).on("change", "#file", function () {
//submit form
});