只需单击一次即可上传图像 - Onchange未被触发

时间:2013-09-01 02:01:54

标签: javascript html image

以下是一键上传图片的简单脚本。一旦用户浏览并选择图片,它就会立即上传。

出于某些原因,这个脚本直到最近一直运行正常,现在一旦用户选择图像就没有任何反应。

<div class="upload_button">
    <form action="upload.php" id="upload_icon" method="POST" enctype="multipart/form-
        data">
        <input class="upload" id="file" type="file" name="image" style="display:none"
        />
        <img class="upload_img" src="images/icon.png">
    </form>
</div>


<script type="text/javascript">
    $('.upload_img').click(function () {
        $(this).parent().find('.upload').click();
    });

    document.getElementById("file").onchange = function () {
        document.getElementById("upload_button").submit();
    }
</script>

这个问题会与.onchange有关吗?

1 个答案:

答案 0 :(得分:0)

感谢@ user2550807的评论,我能够解决我的问题。

我将一个addEventListener应用于DOM对象。

所以我改变了:

document.getElementById("file").onchange = function() {
document.getElementById("upload_button").submit();
}

为:

document.getElementById("file").addEventListener("change", function() {
document.getElementById("upload_button").submit();
});