getButton方法返回undefined

时间:2014-01-31 00:53:56

标签: fine-uploader

尝试在提交事件处理程序中调用$(this).fineUploader("getButton", id);并获取undefined作为结果。

我认为正在跟踪按钮,因为在验证和上传事件中可以访问该按钮。但是,我真的想知道在提交事件期间单击了哪个按钮,因此我可以为特定文件上载设置参数。 validate事件没有文件ID存在以关联特定参数

在回复评论时,附加信息:

Fineuploader版本4.1.1

我在许多配置中尝试了这个场景,并且getButton方法调用永远不会在提交处理程序中运行

myfineuploader.on('submit', function(event, id, name) {
  var button = $(this).fineUploader('getButton', id);
  console.log(button);  // Button always shows undefined here
}

按钮被定义为模板外部的跨距,在config:

中设置如下
button: $("#button1"),
extraButtons: [
   {
      element: $("#button2")
   }
]

1 个答案:

答案 0 :(得分:0)

在提交事件回调完成之前,该按钮不与文件关联。这样做是为了确保仅为通过所有可能验证步骤的文件创建映射,因为也可以拒绝“submit”处理程序中的文件。经过一番思考后,一旦我们在内部为此文件创建了ID,最好创建此按钮进行文件映射。我创建了一个item in our issue tracker来处理这个问题。

如果您将逻辑转换为"submitted" event handler,那么您应该很高兴。