• js 清空 input[type=file]的值


    js 不能操作 input[type=file]
    但你可以将这个 input 的 dom 元素删除掉,再新增一个,或者替换掉

    $("#UploadFile").replaceWith('<input id="UploadFile" type="file"/>');

    如果想在选同一文件上传时也会触发change事件

    需要在在input的change事件回调中执行

    $("#UploadFile").replaceWith('<input id="UploadFile" type="file"/>');

    替换即可

    但需要在绑定一次 change() 事件;

    ChangeBind: function () {

    $("#UploadFile").change(function () {
    var filePath = $(this).val();
    if (filePath.indexOf("docx") != -1 || filePath.indexOf("xlsx") != -1 || filePath.indexOf("pptx") != -1) {
    $(".showFileName").val(filePath);
    UploadFile();
    } else {
    $(".showFileName").val("");
    alert("您未上传文件,或者您上传文件类型有误!");
    return false
    }
    });
    },


    UploadFile: function (file) {
    var filePath = $("#UploadFile").val();
    //正则表达式获取文件名,不带后缀.
    var name = filePath.replace(/^.+?\([^\]+?)(.[^.\]*?)?$/gi, "$1");

    //正则表达式获取后缀
    var suffix = filePath.replace(/.+./, "");

    var fileName = name + "." + suffix;
    if ($.trim(filePath) == "") {
    alert("请选择需要上传的文件!");
    return;
    }
    Common.Ajax({ Default: "FileUpload", FilePath: filePath, FileName: fileName }, function () {

    }, function (data) {

    }, function () {
    $("#UploadFile").replaceWith('<input id="UploadFile" type="file"/>');    //Dom元素替换
    ChangeBind();    //change事件绑定
    });
    },

  • 相关阅读:
    Rsync实现文件同步的算法(转载)
    Python模拟登录cnblogs
    负载均衡中四层和七层的介绍(转帖)
    Lvs+Keepalived实现MySQL高可用
    MySQL配置主主及主从备份
    Vim扩展YouCompleteMe插件
    使用Git
    Django回忆录
    Ansible安装配置及使用
    Hive学习之四 《Hive分区表场景案例应用案例,企业日志加载》 详解
  • 原文地址:https://www.cnblogs.com/johnblogs/p/8964156.html
走看看 - 开发者的网上家园