1

我正在使用以下 jquery 插件进行文件上传。

http://www.jscripts.info/mfupload.php

这适用于单个上传框。我通过将 ID 更改为类来尝试多个上传框,但没有运气。

这就是它初始化函数的方式,

$(document).ready(function() {
    //function AjaxUpload($posturl,fieldname,formname){
        var errors="";
        //alert($("div.uploadaction").html());
        $('#upload').mfupload({

            type        : '',   //all types
            maxsize     : 20,
            post_upload : $("div.uploadaction").html(),
            folder      : "./",
            ini_text    : "<div class='halfmargin'></div><span>Click / Drag your logo file here</span>",
            over_text   : "<div class='halfmargin'></div><span class='drop'>Drop Here</span>",
            over_col    : 'white',
            over_bkcol  : 'green',

            init        : function(){       
                $("#uploaded").empty();
            },

            start       : function(result){     
                $("#uploaded").append("<div id='FILE"+result.fileno+"' class='files'>"+result.filename+"<div id='PRO"+result.fileno+"' class='progrez_img'><img src='/images/ajax-loader.gif' /></div></div>"); 
            },

            loaded      : function(result){
                $("#PRO"+result.fileno).remove();
                $("#FILE"+result.fileno).html("<div class='smallpadding'>Uploaded: "+result.filename+" ("+result.size+")<input type='hidden' name='hdnfilename[]' value='"+result.filename+"' /></div>");   
                //$('#'+formname).append('<input type=\"hidden\" name=\"hdnfilename[]\" value=\"' +result.filename+ '\">');     

/*              <input type='hidden' name='hdnfilename[]' value='"+result.filename+"' />    
*/          },

            progress    : function(result){
                $("#PRO"+result.fileno).css("width", result.perc+"%");
            },

            error       : function(error){
                errors += error.filename+": "+error.err_des+"\n";
            },

            completed   : function(){
                if (errors != "") {
                    alert(errors);
                    errors = "";
                }
            }
        });

    })

请帮我创建多个上传框。

问候。

4

2 回答 2

1

您可以使用一个类将插件应用于多个元素,但代码使用元素的 id,因此每个元素仍然必须有一个 id。

于 2013-02-07T09:12:48.663 回答
1

如果该插件允许多个实例

$(".upload").each(function(i,e) {

        $("#"+e.id).mfupload({//..
              });

      });

或尝试更好(imo)/更灵活的插件:http ://blueimp.github.com/jQuery-File-Upload/

(在使用提供的 ui/模板选项之前,先练习基本的插件设置)

于 2013-02-07T09:09:45.370 回答