温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何解决type=file的change事件只能执行一次的问题

发布时间:2020-10-10 16:02:30 来源:亿速云 阅读:279 作者:小新 栏目:编程语言

如何解决type=file的change事件只能执行一次的问题?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!

<input type='file' />设计,不管文件上传成功与否,已添加的文件已经被记录了,所以不会再执行change事件,大概原因知道了,动手做吧,如果我能清空记录,事件不就能触发了吗,尝试了一下,尼玛,没成功。继续找方法,如果我替换了<input type='file' />标签,然后重新绑定change事件会怎么,动手试了一下,成功了,下面贴上代码:

<form action="/api/Index/Browse" enctype="multipart/form-data" id="form_Upload" method="post">
         <input id="fileUpload" type="file" name="file" style="display:none">

</form>

$('input[id=fileUpload]').click();

var count = 0;
       $('input[id=fileUpload]').unbind().change(function () {
           $('#form_Upload').ajaxSubmit(options);

       });

var options = {
           success: function (data) {
               //$scope.orderInfo = eval(data);
               $scope.$apply(function () {
                   $scope.orderInfo = eval(data);

                   //start 为避免type=file控件的change()只能执行一次,更换控件,重新绑定事件
                   count++;
                   $("#fileUpload").replaceWith('<input type="file" id="fileUpload" name="file" style="display:none;" title="' + count + '"/>');
                   $('#fileUpload').on('change', function () {

                       $('#form_Upload').ajaxSubmit(options);
                   });
                   //end

$http.post(url, params).success(function (data) {
  do something
                   }, function () {
  do something

});
               });
           }
       };

感谢各位的阅读!看完上述内容,你们对如何解决type=file的change事件只能执行一次的问题大概了解了吗?希望文章内容对大家有所帮助。如果想了解更多相关文章内容,欢迎关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI