2011-10-06 11 views
6

plupload divの後にpluploadを持つアップロードフォームとブール値を持つチェックボックスがあります。Plupload、動的にURLを変更

チェックボックスをオンにすると、pluploadのURLの値を変更したいと考えています。

は、ここに私のコード圧縮値と

<div id="uploader"> 
    <p>You browser doesn't have Flash, Silverlight, Gears, BrowserPlus or HTML5 support.</p> 
</div> 
<input id="compressFiles" type="checkbox" name="compressFiles" style="margin:10px 0 0 10px;" value="compress" checked="checked" /> 

$(function() { 

$("#compressFiles").change(function(){ 
    if($("#compressFiles").is(':checked')){ 
      compress = 'compress'; 
     } 
     else{ 
     compress = 'no'; 
     } 
}) 

$("#uploader").plupload({ 

    runtimes : 'gears,flash,html5,html4,browserplus,silverlight', 
    url: 'uploadHandler.php?compressFiles=' + compress, 
    max_file_size : '1000mb', 
    max_file_count: 20, // user can add no more then 20 files at a time 
    unique_names : true, 
    dragdrop : true, 
    multiple_queues : true, 

    // Addeb by LG - problem with FF 
    filters: [ 
     {title: "All", extensions: "*"} 
    ], 

    // Rename files by clicking on their titles 
    rename: true, 

    // Sort files 
    sortable: true, 

    // Flash settings 
    flash_swf_url : 'js/plupload.flash.swf', 

    // Silverlight settings 
    silverlight_xap_url : 'js/plupload.silverlight.xap', 
    init : { 
     FilesAdded: function(up) { 
      if($("#compressFiles").is(':checked')){ 
       compress = "no" 
      } 
      else{ 
       compress = "no" 
      } 
    } 
    } 

}); 

// Client side form validation 
$('form').submit(function(e) { 
    var uploader = $('#uploader').plupload('getUploader'); 

    // Validate number of uploaded files 
    if (uploader.total.uploaded == 0) { 
     // Files in queue upload them first 
     if (uploader.files.length > 0) { 
      // When all files are uploaded submit form 
      uploader.bind('UploadProgress', function() { 
       if (uploader.total.uploaded == uploader.files.length){ alert("coucou"); 
        $('form').submit();} 
      }); 

      uploader.start(); 
     } else 
      alert('You must at least upload one file.'); 

     e.preventDefault(); 
    } 
}); 

}); 

url変数の値が定義されて初めてページの読み込みです。私は1000のthinhsを試みたが、チェックボックスの変更時にurlの圧縮値をリフレッシュすることは不可能である。

私の問題がはっきりしていることを願っています。英語はとても良いとは言いません。ヘルプ

答えて

22

ため

おかげで、単に「BeforeUpload」イベントに結合し、あなたのニーズに合わせてuploader.settingsを変更することができます。

this.uploader.bind('BeforeUpload', function(uploader, file) { 
    if($("#compressFiles").is(':checked')) { 
    uploader.settings.url = "uploadHandler.php?compressFiles=compress"; 
    } else { 
    uploader.settings.url = "uploadHandler.php?compressFiles=no"; 
    } 
}); 
+0

私は "up.setting.url"を見ていました。今は大丈夫です。 – Hugo

+0

私はそれが 'uploader.settings.url'と思われると思います。 – vikki

+0

あなたは正しいです。私は編集を行います。 – funwhilelost

1

plupolad v3 chaging settings.urlでは機能しません。あなたは使用する必要があります

uploader.setOption('url', 'your/url/here');