文件输入在fancybox中

时间:2012-11-26 22:06:35

标签: jquery fancybox fancybox-2

我有一个包含文件输入(input type="file")的fancybox弹出窗口。在fancybox 2之前,当显示fancybox时,fancybox内容保留在DOM中的form元素内。现在我已经切换到fancybox 2,现在不再是这样了; fancybox内容与他们在DOM中的位置分离,并重新定位到form之外的位置。因此,当提交form时,文件输入中选择的文件不会随请求一起上传。

我不太清楚以前版本的fancybox是否有意支持将fancybox内容留在DOM中的位置,或者这只是它的工作方式而不一定是故意解决问题的类型我有。

无论如何,有没有办法可以确保fancybox 2将fancybox的内容保存在form内?

1 个答案:

答案 0 :(得分:1)

即使您要包装< body>的全部内容如果使用FORM元素标记,则不应信任第三方插件的行为以将其内容插入其中。

许多插件会在之后插入必要的内容,类似于(或完全相同)...

$('body').append(...)

显然,在这种情况下,您的form将为任何花哨内容无效。

不幸的是,这可能会导致一些不合理的重新排列,但您应该将整个form包含在fancybox内容页面中。这不仅可以解决问题,而且只是一个更安全的解决方案。