当前位置:首页 >> 网页制作

ie中出现的jquery.form.js拒绝访问,input上传按钮必须主动点击的问题

下面先给大家看下代码

<form id="uploadFileForm2" name="uploadFileForm2" enctype="multipart/form-data" method="post">
    <div class="upload-wapper mt20">
        <input type="file" name="excelfile" id="dataFile" class="dataFile" accept="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" />
        <a href="javascript:;" id="uploadFile" class="upload-file">上传文件</a>
        <div id="J_progress_label"></div>
    </div>
</form>

// 保存导入
$("#uploadFile").click(function(){
    $("#dataFile").click()
})

在IE里面使用jquery.form.js上传突然出现拒绝访问,用的是jq的模拟click事件。发现在ie中除非你点击file控件的浏览按钮,否则是没有权限去上传文件的,然后需要以form表单的形式提交,且必须要有enctype属性。也就是说不可以通过js来控制file控件value的方法上传文件。

如果觉得file难看的话,可以动过css样式来隐藏file,然后设置按钮为透明,盖在button上面。也可以用一个div包裹<input type=”file”>标签来解决,同时要注意设置css样式,注意谷歌下和ie8下<input type=”file”>标签的按钮位置不同

总结