SWFUpload 上传文件,怎么实现动态改变post_params的值? 50

swfu=newSWFUpload({//BackendSettingsupload_url:base_url+"/user/batch_upload",post_par... swfu = new SWFUpload({
// Backend Settings
upload_url: base_url+"/user/batch_upload",
post_params: {"PHPSESSID": "<?=$session_id?>",'album_id':1,'userid':5},

// File Upload Settings
file_size_limit : "2 MB", // 2MB
file_types : "*.jpg",
file_types_description : "JPG Images",
file_upload_limit : "0"
})
这是部分代码,我有一个下拉框,还需要传下拉框的值过去,现在需要选择下拉框时,改变album_id的值,请高手指教!
展开
 我来答
百度网友060da93
2011-08-14 · TA获得超过175个赞
知道答主
回答量:67
采纳率:0%
帮助的人:56.8万
展开全部
你把album_id的值存在一个js的变量里,当你选择下拉框的时候,改变这个变量值就可以了.我这里用jquery演示一下
$(document).ready(function(){
var album_id = $("#album_id").val();
$("#album_id").change(function(){
album_id = $(this).val();
});
swfu = new SWFUpload({
// Backend Settings
upload_url: base_url+"/user/batch_upload",
post_params: {"PHPSESSID": "<?=$session_id?>",'album_id':album_id,'userid':5},

// File Upload Settings
file_size_limit : "2 MB", // 2MB
file_types : "*.jpg",
file_types_description : "JPG Images",
file_upload_limit : "0"
});
})

html如下:
<select name="album_id" id="album_id">
<option value="1">xxx</option>
<option value="2">xxx2</option>
</select>
还有问题的话,直接hi我
追问
大哥,没有用的,这个值是一开始实例化对象的时候值已经定了,一初始化的对象的时候,值已经传到flash参数里面去了,我试了好多种方法,没有成功,没办法,最后只有用刷新页面解决!
追答
你可以试试下面的方法
// Public: setPostParams changes the post_params setting
SWFUpload.prototype.setPostParams = function (paramsObject) {
this.settings.post_params = paramsObject;
this.callFlash("SetPostParams", [paramsObject]);
};

如果albumid有改变的话,你在upload_start_handler中调用这个方法动态的改变post value
比如:
this.swf.setPostParams({ albumid: $('#albumid').val() });
精品DIY生活
推荐于2016-03-31 · 知道合伙人数码行家
精品DIY生活
知道合伙人数码行家
采纳数:46447 获赞数:131774
视频剪辑、网络管理、图片处理、办公自动化、文学、语言学。

向TA提问 私信TA
展开全部
// 非form提交模式,直接input执行脚本,然后让swfupload自己post
window.onload = function () {
swfu = new SWFUpload({
// Backend Settings
upload_url: "uploadImage",
// 本来这里有对post_params的设置的删除了,因为动态提交

// File Upload Settings
file_size_limit : "2 MB", // 2MB
file_types : "*.jpg",
file_types_description : "JPG Images",
file_upload_limit : "0",

// 提交时候的脚本

function _StartUpload()
{
var phpid = document.getElementById("phpid").value; // phpid是一个hidden
var obj = document.getElementById("AlbumType"); // AlbumType是一个select
var index = obj.selectedIndex;
var v = obj.options[index].value;
var v1 = document.getElementById("ImageLabel").value;
// 关键是下面这2句
var postobj = { "PHPSESSID": phpid,"AlbumType":v,"ImageLabel":v1 };
swfu.setPostParams(postobj);

swfu.startUpload();
}

// 接收页面如下:
$PHPSESSID = $_POST["PHPSESSID"];
$AlbumType = $_POST["AlbumType"];
// 接收和常规接收是一样的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式