我有一个包含文件输入(input type="file"
)的fancybox弹出窗口。在fancybox 2之前,当显示fancybox时,fancybox内容保留在DOM中的form
元素内。现在我已经切换到fancybox 2,现在不再是这样了; fancybox内容与他们在DOM中的位置分离,并重新定位到form
之外的位置。因此,当提交form
时,文件输入中选择的文件不会随请求一起上传。
我不太清楚以前版本的fancybox是否有意支持将fancybox内容留在DOM中的位置,或者这只是它的工作方式而不一定是故意解决问题的类型我有。
无论如何,有没有办法可以确保fancybox 2将fancybox的内容保存在form
内?
答案 0 :(得分:1)
即使您要包装< body>的全部内容如果使用FORM元素标记,则不应信任第三方插件的行为以将其内容插入其中。
许多插件会在之后插入必要的内容,类似于(或完全相同)...
$('body').append(...)
显然,在这种情况下,您的form
将为任何花哨内容无效。
不幸的是,这可能会导致一些不合理的重新排列,但您应该将整个form
包含在fancybox内容页面中。这不仅可以解决问题,而且只是一个更安全的解决方案。