我有一个带有plupload的上传表单和一个在plupload div后面有布尔值的复选框。
如果复选框被选中,我想要更改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次,但无法在复选框改变时刷新url中的压缩值。
我希望我的问题清楚了,我的英语说得不是很好。
感谢你的帮助
发布于 2011-10-21 05:55:58
只需绑定到"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";
}
});发布于 2016-12-07 21:33:49
在plupolad v3中,chaging settings.url将不起作用。你必须使用
uploader.setOption('url', 'your/url/here');https://stackoverflow.com/questions/7672768
复制相似问题