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

2025-03-28 13:03:12
推荐回答(2个)
回答1:

你把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": "",'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如下:

还有问题的话,直接hi我

回答2:

// 非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"];
// 接收和常规接收是一样的