javascript – 从弹出窗口在父窗口中提交表单?

前端之家收集整理的这篇文章主要介绍了javascript – 从弹出窗口在父窗口中提交表单?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我有2个像这样的HTML文件.

parent.html

child.html

Enter Something Here

用户单击父级中的“提交”按钮时,将显示一个新的弹出窗口并要求他输入内容.

任何人都可以告诉我如何从中输入输入[somethingelse]的值
孩子输入[something]并在用户点击OK之后在父母中提交表单?

最佳答案
您可以通过window.opener.document在父窗口中获取对表单的引用,如下所示:

var form = window.opener.document.getElementById("theFormID");

(您可以为表单提供ID,但还有其他方法可以执行此操作.)

然后,您可以访问该表单中的字段,当然还可以设置其.value属性,您可以通过其.submit()函数提交表单.

但公平警告:用户不喜欢弹出窗口.如果有任何方法可以将其他字段合并到表单中,我建议改为.

这是一个完整的例子:Live Copy | Source | Source of popup

主页:

Meta charset=utf-8 />

弹出窗口:

Meta charset=utf-8 />

如果运行它,您会发现当您在主页面上单击“发送”时,它会执行弹出窗口.如果在弹出窗口中填写一个值并单击“发送表单”,弹出窗口将消失并提交表单.您可以告诉表单是否随值一起提交,因为我使用了method =“GET”,因此您可以在结果页面的URL中的查询字符串中看到theField = yourValue.例如,如果在弹出窗口中键入“我的值”,则在表单提交后,您将在主页面中看到URL http://jsbin.com/abiviq/1?theField=my值. (但是你的表单大概是使用POST而不是GET,我只是使用GET来演示.)

猜你在找的HTML相关文章