联系表格7 onclick活动

时间:2016-10-30 15:14:26

标签: javascript jquery wordpress contact-form-7

我是完整的JS新手,所以如果有人可以帮助解决这个问题,那就太棒了。

我的网站上有多个联系表单,我需要在每个提交按钮上包含自定义JS事件跟踪代码。

如果是一个简单的字段,我只想将此代码添加到它:

onClick="ga('send', 'event', { eventCategory: 'Form', eventAction: 'Call', eventLabel: 'Send', eventValue: 100});"

但我不知道如何使用[submit" Send"]按钮。在CF7中使用on_sent_ok函数的教程很少,但我完全迷失了......

非常感谢任何帮助!

3 个答案:

答案 0 :(得分:1)

如何避免所有这些事情,而只需替换

[submit "SEND MESSAGE"]

使用

<input type="submit" value="SEND MESSAGE" class="wpcf7-form-control wpcf7-submit" onClick="ga('send', 'event', 'form', 'submit', 'success');" />

答案 1 :(得分:0)

将此添加到您的主题functions.php文件中(如果它不存在则创建它)。

/**
 * Add the code that will run when on_sent_ok is triggered;
 */
function my_plugin_wpcf7_properties( $properties, $instance /* unused */ ){
    $properties[ 'additional_settings' ] .= "\n" . "ga('send', 'event', { eventCategory: 'Form', eventAction: 'Call', eventLabel: 'Send', eventValue: 100});";
    return $properties;
}
add_filter( 'wpcf7_contact_form_properties', 'my_plugin_wpcf7_properties' , 10, 2 );

如果您需要不同的JS代码,具体取决于表单ID,您可以使用第二个参数:

/**
 * Add the code that will run when on_sent_ok is triggered;
 */
function my_plugin_wpcf7_properties( $properties, $instance ){
    if ( 1 == $instance->id ) {
        $properties[ 'additional_settings' ] .= "\n" . "console.log('Form ID:1');";
    } else if ( 2 == $instance->id ) {
        $properties[ 'additional_settings' ] .= "\n" . "console.log('Form ID:2');";
    } else if ( 3 == $instance->id ) {
        $properties[ 'additional_settings' ] .= "\n" . "console.log('Form ID:3');";
    }
    return $properties;
}
add_filter( 'wpcf7_contact_form_properties', 'my_plugin_wpcf7_properties' , 10, 2 );

摘自blog post我写的

答案 2 :(得分:0)

我有一个解决方案,但它不是最干净的解决方案,因为你必须修改插件代码。

在submit.php文件中,我创建了以下if语句

global $post;
    if($post->ID == 19 || $post->ID == 135) {
       return $html; 
    }
    else {
       return $secondhtml; 
    }

由于我有几种形式,我有不同的onclick事件,所以根据帖子ID我返回包含输入代码的不同变量