我用 fileupload 组件操作文件上传完成后,自动刷新到首页(而我不需要刷新的)找了很久没有找到原因,发现遇到了大坑。。。
上代码:
jsp:
<input value="请点击选择文件..." readonly="readonly" type="text" id="textfield" οnclick="document.getElementById('enclosure').click()"/>
<input style="display: none;" type="file" name="enclosure" οnchange="document.getElementById('textfield').value=this.value"/>
<button class="btn btn-success" id="accountability">上传</button>
js:
(function($) {
$('#enclosure').fileupload({
url: 'upload',
autoUpload: false,
dataType: 'json',
add: function (e, data) {
$("#accountability").click(function () {
var filename = data.files[0].name;
var fileSize = data.files[0].size;
if(limitFileSize(fileSize,50485760)){
data.submit();
$('#uploadInfo').removeClass('fade');
}else{
alert("上传的文件大小不能大于50M");
return false;
}
});
},
start: function (e) {
$("#uploadInfo .bar").css("width","10%");
$("#uploadInfo").html("开始上传...<br>");
},
progress: function (e, data) {
var progress = parseInt(data.loaded / data.total * 100, 10);
$("#uploadInfo .bar").css("width","50%");
},
done: function (e, data) {
$("#uploadInfo .bar").css("width","70%");
if(data.result.ok) {
$("#uploadInfo .bar").css("width","100%");
}else if(data.result.download) {
}
}
});
//文件上传携带参数
$('#enclosure').bind('fileuploadsubmit', function (e, data) {
data.formData = {
flowId: $("input[name='flowId']").val()
};
});
})(jQuery);
解决办法:
最终尝试很多方法,在button按钮上加上一个 type="button" 就可以了,
<button class="btn btn-success" type="button" id="accountability">上传</button>
来源:CSDN
作者:淮水黄国
链接:https://blog.csdn.net/weixin_38215472/article/details/103237308