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的值,请高手指教! 展开
// 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的值,请高手指教! 展开
2个回答
展开全部
你把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我
$(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() });
推荐于2016-03-31 · 知道合伙人数码行家
关注
展开全部
// 非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"];
// 接收和常规接收是一样的
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"];
// 接收和常规接收是一样的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询