uploadify传入formData问题。 尝试用$('#btn1a').uploadify('settings', 'formData', {"pid":1});不行啊!

jsp上:<linkrel="stylesheet"type="text/css"href="/js/uploadify/uploadify2.css"/><script... jsp上:
<link rel="stylesheet" type="text/css" href="/js/uploadify/uploadify2.css" />
<script type="text/javascript" src="/js/jquery.js" ></script>
<script type="text/javascript" src="/js/uploadify/jquery.uploadify-3.1.min.js"></script>
$("#btn1a").uploadify({
auto:true,
buttonText:"上传附件",
fileObjName:"attachment",
formData:{"JSESSIONID":"${JSESSIONID}","complaint.upuserid":"${complaint.userid}"},
height:22,
method:"post",
multi:true,
hideButton:false,
progressData:"speed",
queueID:"uploadQueue",
swf:"${contextPath}/js/uploadify/uploadify.swf",
uploader:"${contextPath}/infopub2/terminalSubscriberComplaintUpload.jspx",
width:90,
onInit:function(){},
//当选择某一文件时触发;
onSelect:function (file){
$('#btn1a').uploadify('settings', 'formData', {"pid":1}) 
}});

为什么会有 $('#btn1a').uploadify('settings', 'formData', {"pid":1}) is not function 呢?
$('#file_upload').uploadify('settings','buttonText','BROWSE');
这个格式也试过,还是不行额……is not function。方法是在选择后触发的。
展开
 我来答
GGXS00745
推荐于2016-01-08
知道答主
回答量:4
采纳率:0%
帮助的人:7.4万
展开全部
你那不是方法错。
你用Jquery加载了uploadify。
在加载的同时再次使用加载,但是这时候已经被换了加载名了。所以加载会出错。(当你把button设置为display:none的时候)
你先使用Jquery包装input file后,在使用包装名即可
沿用你的例子:
var btn=$("#btn1a");
btn.uploadify({

里面那个就用btn.uploadify('settings','height',12);等等
如果要加载formData的话则要使用下面的模式。
btn.uploadify('settings','formData',{"abc":"abc"});
另外也有可能是你调试的时候使用了IE浏览器
如果是IE89就另说
IE67的话,我建议你每次调试的时候重新开浏览器,清除你的缓存。这是当时为了方便直接使用缓存的设计思路所致。
追问
哦,貌似是缓存问题。开了缓存禁止后问题解决了。可是传文件名的怎么是乱码。怎么办?
我用了解码也乱了。网页上是GBK的。但是按照new String(fileFileName,"GBK");解码GBK,有中文,但是有时候却有问好。
是怎么回事?
追答
额。一般来说javascript采用的是UTF-8编码。如果你用这个编码,那就是将网页GBK转成了UTF-8,发送到服务器中。而你后台接受网页使用的是GBK的话,一般都会设为GBK编码,也就是UTF-8编码再编码。因为GBK和UTF8编码占位不同,有一位只差。建议您使用URI或者URL的方式进行编码发送。不明白的可以问你上司。
另外,我就是你上司。还有问题你直接Q我。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
鼻涕一米二
2012-07-25 · TA获得超过816个赞
知道小有建树答主
回答量:460
采纳率:100%
帮助的人:265万
展开全部
settings 方法:三个参数
Arguments
name
The name of the setting you want to return or change. Only setting this argument will return the value.
value
The value you would like to use for the setting.
resetObjects
Set this to true when updating the postData object to erase existing values. Otherwise, new values will be added to existing ones.
*The only setting that cannot be set is the swf setting.
例子:
$('#file_upload').uploadify('settings','buttonText','BROWSE');
$('#file_upload').uploadify('settings','buttonText')
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
blacklong
2012-07-25 · TA获得超过1500个赞
知道大有可为答主
回答量:2745
采纳率:0%
帮助的人:1250万
展开全部
$(function() {
$('#file_upload').uploadify({
'auto' : false,
'buttonClass' : '',
'buttonText' : '选择照片....',
'height' : 30,
'fileTypeDesc' : 'Image Files',
'fileTypeExts' : '*.gif; *.jpg; *.png; *.bmp',
'fileSizeLimit' : '<%=upFileSize%>B',
'swf' : 'flashUpload/uploadify.swf',
'uploader' : '<%=sFormAction%>',
'formData' : { 'albumID' : '0' },
'queueID' : 'queueDiv',
'removeCompleted' : true,
'removeTimeout' : 5,
'onQueueComplete' : function(queueData) {
document.getElementById("startBtn").value="开始上传";
uploadStart = false;
$('#file_upload').uploadify('disable', false);
},
'onUploadSuccess' : function(file, data, response) {
writeUploadResult(data);
}
});
});
我以前写的,前面项目名都有引号的哦~~
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
危彩Y
2012-07-27
知道答主
回答量:7
采纳率:0%
帮助的人:3.5万
展开全部
请问,这个问题你解决了么??怎么解决的呀
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式