在IE9中改变行为很奇怪

时间:2012-01-11 21:46:34

标签: jquery forms internet-explorer-9 submit

所以我有一个像这样的表单提交设置

<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”)那样被读取。单击()。有人知道解决这个问题的方法吗?

1 个答案:

答案 0 :(得分:0)

我正在猜测正在发生的事情,因为你的处理程序没有绑定到不可见的形式(有时是这种情况)。

尝试:

// document or some other container
$(document).on("change", "#file", function () {
    //submit form
});