自动填充 iframe 中的外部表单来自...另一个表单

Posted

技术标签:

【中文标题】自动填充 iframe 中的外部表单来自...另一个表单【英文标题】:Autofill an external form in an iframe from... another form 【发布时间】:2017-03-07 18:49:39 【问题描述】:

我想请您注意我的问题,主题应该与这篇文章相似。

在 WP 网站中,我有两列:

第 n.1 列有一个 CF7 表单,该表单由 CRM 中的 URL 自动填充,并将数据注入 GSheet。

列 n.2 有一个 iframe 用于使用外部日历工具进行预约,该工具应从表单中选择数据(我无法编辑表单,只能编辑 iframe 链接,例如:

此链接是否有可能从表单或 crm url 中“挑选”数据?你认为这是可能的还是我是个傻瓜?

非常感谢您的帮助:)

【问题讨论】:

【参考方案1】:

您应该考虑使用 javascripts postMessage() 功能向 iFrames 传递数据/从 iFrames 传递数据。

https://developer.mozilla.org/en-US/docs/Web/API/Window/postMessage

在 WordPress 页面上使用类似的东西

// This will get the value of the input and send it to the iFrame on the fly
$('#form-id input:not([type=submit])').each(function()  
    var val = $(this).val();
    $(window).postMessage(val);
);

然后在 iFrame 页面上:

// Create browser compatible event handler.
var eventMethod = window.addEventListener ? "addEventListener" : "attachEvent";
var eventer = window[eventMethod];
var messageEvent = eventMethod == "attachEvent" ? "onmessage" : "message";

// Listen for a message from the WP page
eventer(messageEvent, function(e) 
    if (e.data.length < 1) return;

    // jQuery
    $('#input-id').val(e.data);

    // Pure JS
    document.getElementById('input-id').setAttribute('value', e.data); 
, false);

如果我认为不同域上的表单这是唯一的方法。

【讨论】:

以上是关于自动填充 iframe 中的外部表单来自...另一个表单的主要内容,如果未能解决你的问题,请参考以下文章

如何将自动填充的表单记录(从另一条记录创建)添加到访问表中?

使用来自单独表单 Access 2007 的用户输入自动填充表单中的字段

Facebook应用程序中iframe中的填充错误

通过连接来自其他文本字段的字符串值自动填充访问表单中的字段

如何使用来自两个不同表的旧信息自动填充编辑表单?

自动填充另一张工作表中的数据