上传updateSettings问题

时间:2010-01-10 16:22:58

标签: javascript jquery uploadify

我有一个漂亮的uploadify表单,但是我想以编程方式更改设置,但是我收到了错误。

在document.ready上启动了Uploadify,我正在尝试将updateSettings绑定到按钮单击(也在document.ready中完成)。我也尝试在document.ready之外使用updateSettings函数 - 实际上在按钮或内联脚本上以获得相同的错误。

错误是

Error: document.getElementById(a(this).attr("id") + "Uploader").updateSettings is not a function

我的代码目前看起来像

<script>
$(document).ready(function(){

  $('#uploadify').uploadify({
    'uploader'  : 'uploadify.swf',
    'script'    : 'uploadify.php',
    'cancelImg' : 'cancel.png',
    'auto'      : true,
    'folder'    : '/uploads'
  });

  $("#changeIt").click(function(){
    $("#uploadify").uploadifySettings("folder","something_else");
  });

});
</script>

<input type="file" name="uploadify" id="uploadify" />

<a id="changeIt" src="#">Change the upload dir</a>

就像我说的那样,我已经尝试在文档外添加uploadifySettings。我已经尝试在on标签中添加它直接添加到标签本身以获得相同的错误。我真的很感激任何帮助。

5 个答案:

答案 0 :(得分:2)

你的代码错了。 Uploadify无法绑定到<input type="file">,只能绑定到<div/>。请参阅uploadify站点中的文档和示例。

要进行渐进式增强,我同时拥有元素<input type="file"/>和空<div/>。然后在javascript代码中,我删除了输入元素,然后初始化uploadify。

<input type="file" name="uploadify" />
<div id="uploadify"></div>

<script type="text/javascript">
    jQuery(function($){
      $("input[name='uploadify']").hide().remove();
      $("#uploadify").uploadify({UPLOADIFY_PARAM});
      //a click handler to change uploadify param
      //...
    });
    </script>

顺便说一句,我从未考虑过uploadify的文件夹参数。我在服务器端脚本中定义了上传文件夹。

答案 1 :(得分:1)

尝试使用其他功能名称。我遇到了类似的问题,发现将updateSettings()重命名为updateForm()解决了我的问题。

答案 2 :(得分:0)

我遇到了同样的问题。 似乎auto:true存在错误,因为我在同一页面上有另一个uploadifyauto:falseuploadifySettings完美无缺。

我做了一个解决方法:

  • 将auto设置为false
  • onSelect,提交上传内容,如下所示:

    ... 'onSelect' : function(event, data){ $('#someID').uploadifySettings('param', 'value'); $('#someID').uploadifyUpload(); } ...

HTH

答案 3 :(得分:0)

在jquery对话框中使用Uploadify时出现此错误。

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

答案 4 :(得分:0)

当uploadify控件位于jquery对话框中时,我在Chrome中收到此错误。

我最终没有使用uploadify并切换到jQuery上传文件插件http://hayageek.com/docs/jquery-upload-file.php