我在我的页面中使用Jquery文件上传(http://blueimp.github.io/jQuery-File-Upload/)和Bootstrap验证器(https://github.com/nghuuphuoc/bootstrapvalidator),如果表单有效,我只需要在服务器上传文件,因此我覆盖了Jquery-File-Upload的默认提交功能如下
$(document).ready(function() {
$('.fileupload').fileupload({
url: '/upload',
autoupload: false,
dropZone: $(".fileuploadzone"),
submit: function (e) {
$(document).bootstrapValidator('validate');
if ($(document).data('bootstrapValidator').isValid()) {
return true;
}
else {
return false;
}
}
});
$('.fileupload').bind('fileuploadfinished', function (e, data) {
submitForm();
});
});
它适用于第一次点击提交按钮('有效'或'无效'),但即使表单有效,也不会在之后工作。 我的意思是既不执行验证也不执行文件上载过程。 请帮助!
答案 0 :(得分:0)
我认为您只需在每个表单提交后重置bootstrap验证器。
$('.fileupload').bootstrapValidator('resetForm', true);
答案 1 :(得分:0)
我和你有同样的问题,
**如果提交事件回调返回false,则上传请求将不会启动。 (enter link description here)
这是我的解决方案。 当提交回调返回false时,启动按钮被禁用,我尝试删除提交回调中的“禁用”属性,它对我来说很好。
submit: function(){
//---invalid--
$('button.start').removeAttr('disabled');
return false;
}
祝你好运。