【问题标题】:qq.FileUploader doesn't work when loaded in AJAX popupqq.FileUploader 在 AJAX 弹出窗口中加载时不起作用
【发布时间】:2012-02-04 05:30:26
【问题描述】:

所以我得到了一个使用 AJAX 动态加载的对话框,在该框中,我有一个文件输入被 Valums qq.FileUploader 替换。加载内容后,我确实在 FileUploader 上调用了 init,我的输入框被 FileUploader 正确替换。

如下图所示,输入被所有内容替换,新的“隐藏”输入就在那里。问题是我不能点击它。但是,我可以正确拖放文件。因此,上传仍然有效,但只能拖放。这已经在 Windows 上使用 Chrome 和 Firefox 进行了测试。

Valums qq.FileUploader doesn't work when it's initialized after loading button by ajax

编辑:对话框代码不是jQuery UI,它是自定义代码,基本上,我在打开对话框时触发一个事件,并绑定在该事件上以执行FileUploader代码。

编辑 2:所以我尝试在弹出窗口后使用 1 秒的超时来执行 FileUploader 代码,但仍然不行。还尝试使用 z-indexes,但不行。

编辑 3:几周后它仍然无法正常工作。我似乎无法找到这个问题的原因。这里有两张图片说明了“隐藏”文件上传的位置(红色)。并且它在外部有效,但在对话框内部无效。

这是一个对话框之外,它工作得很好:

这是完全相同的形式,但对话框中,但这不起作用:

编辑 4:只需使用我的代码设置一个 JSFiddle:http://jsfiddle.net/G5qP6/6/

但是,如您所见,它在 JSFiddle 中运行良好,这让我想知道,为什么它在我的应用程序中不起作用。

【问题讨论】:

  • 您的对话框是否嵌套在 <form> 中?我在 gc 检查器中没有看到。
  • 是的,它在
    之前,另外,我在对话框内外使用相同的表单,在外面,它工作得很好。
  • 补充一下我之前的评论,当我在对话框中有上传表单时,我在外面没有上传表单。
  • 澄清我之前的评论。我从来没有同时打开 2 个上传表单。
  • @jValdron 无论如何,您可以在某处发布此示例,以便我看一下?当放置在对话框中时,我有相当一部分小部件无法正常工作。

标签: javascript jquery ajax file-upload


【解决方案1】:

据我了解 - 您不能点击上传按钮,但可以拖放。

如果是这样的话,这似乎是一个 CSS 问题。可能一个元素与您的上传按钮重叠,因此您实际上是在单击另一个元素。尝试通过设置边框和背景颜色进行调试。如果上传按钮被重叠,您将看到哪个元素与其重叠。

我想到的另一件事是改变你打电话给Upload.initializeUploads();的地方。
在您完成 $('body').append(this.element); 之后,我会将其放入 Dialog.init()

您的 fiddle 示例在我的 Firefox 10、Chrome 16、IE 8 和 Opera 10(某些东西)上运行良好。 我的建议也适用于相同的浏览器。

您的原始代码:http://tmp.itnews-bg.com/jValdron/
我改变了什么:http://tmp.itnews-bg.com/jValdron/index-2.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-22
    • 1970-01-01
    • 1970-01-01
    • 2017-01-09
    • 1970-01-01
    相关资源
    最近更新 更多