必须单击两次以使用ajaxupload上传文件 [英] Have to click twice to upload file with ajaxupload

查看:83
本文介绍了必须单击两次以使用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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆