2009-12-02 54 views
4

好的,我不能发布所有的代码,因为它只是没有必要的。但这是问题。jquery uploadify

我有一个标签对话框(ui.tabs),其中包含一个用于上传文件的uploadify表单。但是,在较早的选项卡上,我检查单选按钮的状态以确定是否仅允许图像文件或Flash文件。

我已经初始化uploadify因此事前,内$(文件)。就绪:

$("#uploadify").uploadify({params}); 

...包括 'fileDesc' 和 'fileExt' 参数。本身,它工作正常。但是,一旦它被初始化,我想用改变设置:

$("#uploadify").uploadifySettings('fileDesc','blah blah'); 
$("#uploadify").uploadifySettings('fileExt','.ext'); 

...但是,当我这样做,萤火虫喷出如下:

的document.getElementById(一(本).attr( “ID”)+ “上传”)。updateSettings不是一个函数 http://localhost/projectname/Javascript/jquery.uploadify.v2.1.0.min.js 线26

现在显然是有什么错UPL自我磨合,但我可能在这里是一个完整的面条。这是否发生,因为它认为'#uploadify'尚未初始化?

回答

-1

尝试

$("#uploadify").uploadifySettings({fileDesc: 'blah blah', fileExt: '.ext'}); 
+0

一个公平的回应,但这是我第一次尝试 - 当没有工作时,我简化它到上面提到的代码。我仍然收到'updateSettings不是函数'的错误。 :\ – David 2009-12-02 13:09:52

0

您推测#uploadify尚未初始化。你把你的uplaodify代码到

$(document).ready(function() { ... });

+0

还有一件事:放在服务器上的swf脚本是否可以访问? 不确定,但似乎像uploadify dynamicaly嵌入他们在页面中... – igorp1024 2009-12-02 14:01:10

+0

我做了,如上所述,它坐在本地主机上,我有访问脚本(它的作品就好了它自己,我不能似乎改变了与uploadifySettings设置我只是不知道... 是的,它在document.ready。 – David 2009-12-02 14:34:35

+0

好吧,它并没有真正回答这个问题,所以我仍然是一个回应。但为了让它起作用,我只需单击单选按钮就可以重新初始化整个事情,只是为了让它起作用,而不是一个理想的解决方案,所以我仍然对实际的想法持开放态度它有正确的... – David 2009-12-02 14:55:43

1

我正在努力解决同样的问题。

有人在Uploadify论坛上认为这是一个与父元素具有样式显示的情况有关的错误:无。

http://www.uploadify.com/forum/viewtopic.php?f=7&t=2163

+0

这可能是非常好的问题...虽然我不会尝试“修复”它,但它的工作,我已经为链接添加书签以备将来参考。:) – David 2009-12-07 13:41:48

+0

破碎的链接,请不要打破 互联网 ;-) – 2012-05-28 16:48:02

3

你应该this thread见接受的答案。关键是要调用$("#uploadify").uploadifySettings();里面的上传开始处理程序,或者表单提交处理程序。

总体而言,js代码应该是这样的:

jQuery(function($){ 

    //make uploadify 
    $("#uploadify").uploadify({params}); 

    //handle form submit 
    $("#form").submit(function(e){ 
    //prefent form submit 
    e.preventDefault(); 

    //change the uploadify setting, ex. scriptData 
    $("#uploadify").uploadifySettings("scriptData", {'file_id': '345'}); 

    //start upload 
    $("#uploadify").uploadifyUpload(); 

    }); 
}); 

这对我工作的代码,我希望它在你的情况下工作。表单提交可以由另一个函数替换,例如uploadify网站中的示例脚本中存在的函数startUpload。

0

我在使用jQuery对话框中的Uploadify的时候出现了这个错误。

解决方案是在创建对话框后初始化Uploadify。

0

IE可以缓存uploadify.swf文件,并且出于某种原因,这会导致某些用户失败。在Uploadify设置配置,修改“上传” URL包括在查询字符串独特的价值以防止缓存:

“上传”:“/Content/uploadify.swf?nocache=” +新的日期( ).getTime()

这解决了我的问题。