将联系表单7值传递给Wordpress中的另一个表单

时间:2019-07-05 05:54:23

标签: javascript html wordpress contact-form contact-form-7

我的网站上有一个联系表,该表将信息保存到我们的联系表数据库中。我还需要将此数据传递给另一种形式。

<div class="row">
<div class="column small-12 medium-6">[text* first-name placeholder "First Name*"]</div>
<div class="column small-12 medium-6">[text* last-name placeholder "Last Name*"]</div>
<div class="column small-12 medium-6">[email* email placeholder "Email*"]</div>
<div class="column small-12 medium-6">[text* phone placeholder "Phone*"]</div>
<div class="column checking"><span class="intro">Preferred method of contact*</span> [checkbox* checkbox use_label_element "Email" "Phone"]</div>
<div class="column small-12">[textarea* enquiry placeholder "Further Info"]</div>
<div class="column text-center"><button type="submit" class="button">Send Enquiry</button></div>
</div>

我需要输入以下表格的名字,姓氏,电子邮件,电话和查询占位符信息。

<form id="form" action="http:www.contoso.com.jsp" method="post">
<input type="hidden" name="FirstName" value="first-name"/>
<input type="hidden" name="LastName" value="last-name"/>
<input type="hidden" name="Email" value="email"/>
<input type="hidden" name="Mobile" value="phone"/>
<input type="hidden" name="Comment" value="enquiry"/>

如何通过Wordpress中的联系表7将信息从第一个表单获取到第二个表单?

我认为这可能在CF7的附加设置页面中有效,但是我的编码知识很低:

document.getElementById('FirstName').value = document.getElementById('first-name').value;
document.getElementById('LastName').value = document.getElementById('last-name').value;
document.getElementById('Email').value = document.getElementById('email').value;
document.getElementById('Mobile').value = document.getElementById('phone').value;
document.getElementById('Comment').value = document.getElementById('enquiry').value;
on_submit: "document.forms['form'].submit();"

1 个答案:

答案 0 :(得分:0)

我还有另一种逻辑可以实现您的目标。 1)在您的站点数据库中创建一个非常基本的表:

CREATE TABLE wp_cf7_test(
  id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
  name VARCHAR(50)
);

2)接下来登录到您的wordpress网站管理区域,打开Contact Form 7表单编辑器,然后再次创建一个非常简单的表单,如下所示:

[text* name]
[submit "Send"]

完成此操作后,打开站点的functions.php文件并创建以下函数,该函数应具有相对的自我解释性,请初始化$ wpdb全局变量,以用于触发插入查询。然后将WPCF7_Submission :: get_instance()方法分配给变量,然后访问所需的已发布数组的任何部分,或者在这种情况下,访问其仅一个名为“名称”的项目,这就是我们的表单输入字段所调用的名称。最后,您执行insert函数,该函数会将您的数据发送到之前创建的表中。 :

<?php 
function contactform7_before_send_mail( $form_to_DB ) {
    global $wpdb;
    $form_to_DB = WPCF7_Submission::get_instance();
    if ( $form_to_DB ) 
        $formData = $form_to_DB->get_posted_data();
    $name = $formData['name'];

    $wpdb->insert( 'wp_cf7_test', array( 'name' =>; $name ), array( '%s' ) );
}
remove_all_filters ('wpcf7_before_send_mail');
add_action( 'wpcf7_before_send_mail', 'contactform7_before_send_mail' );

最后将Contactform7的值添加到所需的任何其他表中。