使用 BUTTON 标签关闭表单提交上的 Fancybox iframe - 不起作用
根据 Fancybox API,我在 iframe 中使用以下代码:
<form>
... // form fields here
<button onclick="parent.$.fancybox.close();">
<span>Save</span>
</button>
</form>
单击“保存”时,表单实际上关闭 - 但未提交表单内容。这就像在表单实际提交其内容之前触发 close
事件。
如果没有 onclick
,内容会被提交,但后续页面会在 iframe 内打开 - 这不是我想要的。
有办法解决这个问题吗?
谢谢你的帮助。
According to the Fancybox API, I am using the following code in an iframe:
<form>
... // form fields here
<button onclick="parent.$.fancybox.close();">
<span>Save</span>
</button>
</form>
The form actually closes when 'Save' is clicked -- but the form content is not submitted. It's like the close
event is triggered before the form actually submits its content.
Without the onclick
, content is submitted, but the subsequent page opens inside the iframe -- not what I want.
Is there a way around this?
Thanks for helping.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
您可以使用 event.preventDefault() 方法,如下所示:
然后 使用 jquery 提交页面
因此最好将其放在这样的函数中:
You can use event.preventDefault() method like this:
Then submit the page using jquery
So it will be better to make it in a function like this:
我最终通过使用多个
span
(出于样式目的)和几行 jQuery 创建按钮来解决这个问题I ended up solving this by creating buttons using multiple
span
(for style purposes) and a few lines of jQuery这对我来说很完美:
所有其他的事情都不起作用。
This one works perfect me:
All other things didn't work.
对于其他仍然无法从 iframe 关闭 fancybox 的读者来说,这可能是 iframe 与父窗口来自不同来源的问题。这就是我遇到的问题。 Rob W 在这里使用 postMessage 提供了一个出色的解决方案 Uncaught TypeError:无法读取未定义的属性“fancybox” - 仅 Google Chrome 错误?
for other readers still having trouble getting fancybox to close from an iframe, it may be an issue with iframe being from a different origin as the parent window. that was the issue i was running into. Rob W provided an excellent solution using postMessage here Uncaught TypeError: Cannot read property 'fancybox' of undefined - Google Chrome only error?