必须单击两次以使用ajaxupload上传文件 [英] Have to click twice to upload file with ajaxupload
本文介绍了必须单击两次以使用ajaxupload上传文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
这是我的jquery代码,用于上传多个文件.输入文件是动态生成的,因此我在生成这些输入文件的地方调用此FileUploader函数.但是我必须单击两次以上传文件.任何想法表示赞赏. :)
FileUploader:function($ dis){
var fileName = ' ';
var $ htm = $($ dis.parents(' div.sfFormInput').find(' div.cssClassUploadFiles')));
var $ ht = $($ dis.parent(' div.uploader'));
var 扩展名= 新 RegExp($ ht.attr(' 扩展')," );
var upload = 新 AjaxUpload($(' #' + $ dis.attr(' id' )+ ' '),{
操作:路径+ " ,
名称:" ,
倍数:真,
数据: {},
自动提交: true ,
responseType:" ,
onChange:function(file,ext){
},
onSubmit:function(file,ext){
如果($ ht.attr(' almul')== " && $( div.cssClassUploadFiles').children( div').length 0 ){
csscody.alert(' < h1>警告消息</h1>< p>您只能在以下位置上传一个文件时间!</p>');
返回 假;
}
如果(ext!= " &&扩展!= ' '){
如果(ext&&extension.test(ext)){
此 .setData({
' MaxFileSize':$ ht.attr(' 文件大小')
});
} 其他 {
csscody.alert(' < h1>警告消息</h1>< p>无效文件! /p>');
返回 假;
}
}
},
onComplete:函数(文件,响应){
var html = ' ';
var filePath =路径+ " +文件;
如果(file.split(' .')[ 1 ] == " span> || file.split(' .')[ 1 ] == " || file.split(' .')[ 1 ] == " || file.split(' .')[ 1 ] == " bmp" || file.split(.')[ 1 ] == " )
html = ' < div title =' +路径+ " +文件+ ' >< img height =" 10%"width =" 10%"src ="' + filePath + ' "/>< a class ="sfDeleteFile">< img src ="../Modules/FormBuilder/images/closelabel.png"/></a></div> ;';
其他
html = ' < div title =' +路径+ " +文件+ ' >' +文件+ < a class =" sfDeleteFile>< img src ="../Modules/FormBuilder/images/closelabel.png"/></a></div>';
$ htm.append(html);
}
});
}
解决方案
dis){ var fileName = ' '; var
htm =
(
>
This is my jquery code to upload multiple file. Input file generated dynamically so i am calling this FileUploader function where these input file generated. But i have to click twice to upload file. Any ideas are appreciated. :)
FileUploader: function($dis) {
var fileName = '';
var $htm = $($dis.parents('div.sfFormInput').find('div.cssClassUploadFiles'));
var $ht = $($dis.parent('div.uploader'));
var extension = new RegExp($ht.attr('extension'), "i");
var upload = new AjaxUpload($('#' + $dis.attr('id') + ''), {
action: Path + "UploadHandler.ashx",
name: "myfile[]",
multiple: true,
data: {},
autoSubmit: true,
responseType: "json",
onChange: function(file, ext) {
},
onSubmit: function(file, ext) {
if ($ht.attr('almul') == "false" && $('div.cssClassUploadFiles').children('div').length > 0) {
csscody.alert('<h1>Alert Message</h1><p>You can upload only one file at a time!</p>');
return false;
}
if (ext != "exe" && extension != '') {
if (ext && extension.test(ext)) {
this.setData({
'MaxFileSize': $ht.attr('filesize')
});
} else {
csscody.alert('<h1>Alert Message</h1><p>Not a valid file!</p>');
return false;
}
}
},
onComplete: function(file, response) {
var html = '';
var filePath = Path + "/UploadedFiles/" + file;
if (file.split('.')[1] == "jpg" || file.split('.')[1] == "JPEG" || file.split('.')[1] == "gif" || file.split('.')[1] == "bmp" || file.split('.')[1] == "png")
html = '<div title="' + Path + "UploadedFiles/" + file + '" ><img height="10%" width="10%" src="' + filePath + '"/><a class="sfDeleteFile"><img src="../Modules/FormBuilder/images/closelabel.png" /></a></div>';
else
html = '<div title="' + Path + "UploadedFiles/" + file + '" >' + file + ' <a class="sfDeleteFile"><img src="../Modules/FormBuilder/images/closelabel.png" /></a></div>';
$htm.append(html);
}
});
}
解决方案
dis) { var fileName = ''; var
htm =
(
这篇关于必须单击两次以使用ajaxupload上传文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文