微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

文件上传控件OnChange Event JQuery

我正在尝试构建页面以使用 AJAX,JQUERY和.Net HTTPHandler上传文件,如 http://dotnet.dzone.com/news/async-file-upload-jquery-and所示

它仅在我第一次选择文件上传时才有效.但是当我下次选择文件并且没有显示任何错误时它不起作用.

如果我将javascript事件绑定更改为旧学校方式,如下所示,它可以完美地工作.但是我想使用JQuery Binding.有什么我做错了吗?谢谢.

<input id="filetoUpload" type="file" size="45" name="filetoUpload" class="input" onchange="return ajaxFileUpload();">

HTML代码

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" CellPadding="4" ForeColor="#333333" GridLines="None">
            <AlternatingRowStyle BackColor="White" ForeColor="#284775" />
            <Columns>
                <asp:BoundField datafield="StudentID" HeaderText="ID" />
                <asp:BoundField datafield="name" HeaderText="Name" />
                <asp:TemplateField>
                    <ItemTemplate>                           
                        <input id="filetoUpload" type="file" size="45" name="filetoUpload" class="filetoUpload" >
                    </ItemTemplate>
                </asp:TemplateField>
            </Columns>
        </asp:GridView>

JQuery绑定代码

<script>

    $().ready(function () {
        $(".filetoUpload").change(function() {
            $.ajaxFileUpload
                (
                    {
                        url: 'AJaxUploadHandler.ashx',secureuri: false,fileElementId: 'filetoUpload',dataType: 'json',data: { name: 'logan',id: 'id' },success: function (data,status) {
                            if (typeof (data.error) != 'undefined') {
                                if (data.error != '') {
                                    console.log(data.error);
                                } else {
                                    console.log(data.msg);
                                }
                            }
                        },error: function (data,status,e) {
                            alert(e);
                        }
                    }
                )

                return false;

        });
    });

</script>

解决方法

使用.on方法如下所示,然后重试

$(".filetoUpload").on('change',function() {
         ///// Your code
});

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐