从另一种形式自动填充iframe中的外部表单

时间:2017-03-07 18:49:39

标签: wordpress forms autofill contact-form-7

我想对你的问题表示敬意,主题应与此帖相似。

在WP网站上,我有两列:

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

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

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

非常感谢你的帮助:)。

1 个答案:

答案 0 :(得分:1)

您应该考虑使用JavaScripts postMessage()功能将数据传入/传出iFrame。

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);

如果不同域上的表单认为,这是执行此操作的唯一方法。