jquery验证文件大小
我正在使用jquery验证,我想限制一些文件大小作为输入。为此,我添加了以下函数:jquery验证文件大小,jquery,validation,Jquery,Validation,我正在使用jquery验证,我想限制一些文件大小作为输入。为此,我添加了以下函数: jQuery.validator.addMethod("maxfilesize", function(value, element, params) { var elementsize; try{ elementsize = $("#browse_"+$(element).attr("id"))[0].files[0].size; }catch(e){ va
jQuery.validator.addMethod("maxfilesize", function(value, element, params) {
var elementsize;
try{
elementsize = $("#browse_"+$(element).attr("id"))[0].files[0].size;
}catch(e){
var browserInfo = navigator.userAgent.toLowerCase();
if(browserInfo.indexOf("msie") > -1){
var fso = new ActiveXObject("Scripting.FileSystemObject");
elementsize = fso.getFile($("#browse_"+$(element).attr("id"))[0].value).size;
}else{
return true;
}
}
var size = params[0], typesize = params[1];
if( typesize == "Ko" ){
size *= 1024;
}else if(typesize == "Mo"){
size *= 1024 * 1024;
}else if(typesize == "Go"){
size *= 1024 * 1024 * 1024;
}
return this.optional(element) || elementsize < size;
}, jQuery.format("The max file size of {0}{1} is reached"));
HTML如下所示:
<form id="workflow_form" class="form-horizontal" role="form" novalidate="novalidate">
<fieldset>
<label class="col-sm-2 control-label" for="read_1">Read 1 browsefile__sl10Gb</label>
<div class="col-sm-10">
<div class="input-group">
<input id="read_1" class="form-control default" type="text" readonly="readonly" value="" name="read_1">
<span class="input-group-btn">
<button id="urlfile_btn_read_1" class="btn btn-default" type="button">
<span class="glyphicon glyphicon-search"></span>
</button>
</span>
</div>
<span class="help-block">Which read1 files should be used</span>
</div>
</fieldset>
</form>
<form style="display:none;" enctype="multipart/form-data" method="post">
<input id="browse_read_1" class="fileupload" type="file" name="browse_read_1">
</form>
读取1个浏览文件\uuuSL10GB
应该使用哪些read1文件
我有一些javascript来处理带有输入和按钮的表单与隐藏输入文件的表单之间的链接。我这样做是为了使用filupload插件
我做错了什么?
谢谢你的回复
Jerome$.validator.addMethod('filesize',函数(值、元素、参数){
var minsize=1000;//最小1kb
如果((value>minsize)&&(value您应该在验证器中使用element.files[0]。size
:
$.validator.addMethod('filesize', function (value, element, arg) {
if(element.files[0].size<=arg){
return true;
}else{
return false;
}
});
$("#myform" ).validate({
rules: {
file_upload:{
required:true,
accept:"application/pdf,image/jpeg,image/png",
filesize: 200000
}
},messages: {
file_upload:{
filesize:" file size must be less than 200 KB.",
accept:"Please upload .jpg or .png or .pdf file of notice.",
required:"Please upload file."
}
},
submitHandler: function(form) {
form.submit();
}
});
$.validator.addMethod('filesize',函数(值、元素、参数){
if(element.files[0].size$(element.attr(“id”)
你会得到#idname
。你被添加到#browse#idname
。我想这是你的问题。你可以提供HTML标记,这样我们可以更好地帮助你吗?@Prashant当我对我的元素进行console.log时,这是正确的一个!我确实有#browse#idname.@laruiss:我编辑了这篇文章来添加HTML$(“[id^=browse\”)
您写入了错误的id。在验证器中应该是browse\u read\u 1
Hmmvalue
将是文件路径,而不是文件大小,请使用元素.files[0].size
获取文件大小。
$.validator.addMethod('filesize', function (value, element, arg) {
var minsize=1000; // min 1kb
if((value>minsize)&&(value<=arg)){
return true;
}else{
return false;
}
});
$("#myform" ).validate({
rules: {
file_upload:{
required:true,
accept:"application/pdf,image/jpeg,image/png",
filesize: 200000 //max size 200 kb
}
},messages: {
file_upload:{
filesize:" file size must be less than 200 KB.",
accept:"Please upload .jpg or .png or .pdf file of notice.",
required:"Please upload file."
}
},
submitHandler: function(form) {
form.submit();
}
});
$.validator.addMethod('filesize', function (value, element, arg) {
if(element.files[0].size<=arg){
return true;
}else{
return false;
}
});
$("#myform" ).validate({
rules: {
file_upload:{
required:true,
accept:"application/pdf,image/jpeg,image/png",
filesize: 200000
}
},messages: {
file_upload:{
filesize:" file size must be less than 200 KB.",
accept:"Please upload .jpg or .png or .pdf file of notice.",
required:"Please upload file."
}
},
submitHandler: function(form) {
form.submit();
}
});