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

そのプラグインが複数のインスタンスを許可する場合

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

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

      });

または、より優れた(imo)/より柔軟なプラグインを試してください:http://blueimp.github.com/jQuery-File-Upload/

(提供された ui/templating オプションを使用する前に、基本的なプラグインのセットアップを練習することから始めます)

于 2013-02-07T09:09:45.370 に答える
1

クラスを使用してプラグインを複数の要素に適用できますが、コードは要素の ID を使用するため、各要素にも ID が必要です。

于 2013-02-07T09:12:48.663 に答える