【发布时间】:2011-04-08 00:11:47
【问题描述】:
我想如果我创建一个隐藏的 iframe 并在其中放入一个表单,然后提交表单,它会在后台 iframe 中提交并且不会影响主浏览器框架:
如果你懒得访问链接(别怪你),这就是顺序发生的事情:
// DOM is ready
// create iframe element as child of document.body
// create form as child element of iframe
// create input type=file element as child of iframe form
// submit iframe form
但是,当提交表单时,父页面被重定向到 iframe 的表单操作属性的 POST URL。
这是为什么?我错过了什么?我在当前版本的 Chrome 和 Firefox 4 中遇到了同样的行为。
我想要做的是在类似 Ajax 的庄园中上传文件。不幸的是,没有办法使用XMLHttpRequest 上传文件。不过应该有一个技巧——如果您在 iframe 中提交上传,则假设是在后台上传。我正在努力实现这一目标,但失败了。
【问题讨论】:
-
你试过哪些浏览器?他们的行为是否相同?
-
据我所知,表单提交会将您的浏览器所在的页面重定向到新的目的地。您想要做的通常是通过使用 AJAX 来实现的。
-
问题已更新以反映您的 cmets。谢谢!
-
最好留下这个问题以及你是如何解决的,这样如果这个问题再次出现,答案就会存档。
-
如果您找到了解决方案,请将其作为答案发布并自己接受,而不是像这样删除内容。现在回滚。
标签: javascript html forms