如何自动填写联系表格7

时间:2018-07-22 19:26:41

标签: wordpress cookies contact-form-7 autofill

在我的网站上,我使用联系表格7将价格表发送给潜在客户。他们只需要填写姓名和电子邮件即可。如果他们想预订我们的服务,客户只需单击电子邮件中的链接即可将他们带到另一个预订表格。 我认为让他们再次填写姓名并发送电子邮件看起来不太好,所以我想知道是否有办法从Cookie或类似的东西中自动填写它? 提前谢谢

3 个答案:

答案 0 :(得分:0)

您可以使用此Dynamic Contact Form 7 plugin并将$ _GET超级对象输入URL吗?即example.com/contact/?first="John"&last="Cena"

答案 1 :(得分:0)

我将尝试通过一个示例来描述该过程。

假设表单的结构为:

<label>First Name: [text first_name]</label>
<label>Last Name: [text last_name]</label>
<label>Email: [email email]</label>

,并且您想要用接收到的URL参数值预填充这些字段,例如:

http://www.your-website-domain.com/page-with-the-form/?first_name=John&last_name=Doe&email=john.doe@email.com

在表单内容的末尾输入以下代码:

<script>
    var urlParams = new URLSearchParams(window.location.search);
    if(urlParams.has('first_name')) 
        document.getElementsByName('first_name')[0].value = urlParams.get('first_name');
    if(urlParams.has('last_name')) 
        document.getElementsByName('last_name')[0].value = urlParams.get('last_name');
    if(urlParams.has('email')) 
        document.getElementsByName('email')[0].value = urlParams.get('email');
</script>

因此,完整表格的结构(在这种情况下)将是:

<label>First Name: [text first_name]</label>
<label>Last Name: [text last_name]</label>
<label>Email: [email email]</label>
<script>
    var urlParams = new URLSearchParams(window.location.search);
    if(urlParams.has('first_name')) 
        document.getElementsByName('first_name')[0].value = urlParams.get('first_name');
    if(urlParams.has('last_name')) 
        document.getElementsByName('last_name')[0].value = urlParams.get('last_name');
    if(urlParams.has('email')) 
        document.getElementsByName('email')[0].value = urlParams.get('email');
</script>

仅此而已。

答案 2 :(得分:0)

现在,您只需从“ context”获取它们,因此无需插件。 您可以使用$_GET$_POSTpost_meta字段,如下所示:

如果加载example.com?your-name=John,它将从$_GET填充该字段

[text* your-name default:get]

或者,如果您的帖子中有一个名为your-name的post_meta字段

[text* your-name default:post_meta "Your Name"]