2016-12-01 14 views
0

私に連絡するには、私のViral Loopsアカウントに情報を提出する埋め込みフォームを持っている必要があります。お問い合わせフォーム7:複数のJavaScript on submit

それはどこか、どのようにそれを追加するだけで使用して、コードの1行を持つことができますので、私は、知らないすなわちon_sent_ok:

VL.options.form_fields.form_firstName = $("#firstname").val(); //capture the first name 
VL.options.form_fields.form_email = $("#email").val(); //capture the email 
VL.options.form_fields.form_lastName = $("#lastname").val(); //capture the last name (if applicable in your form) 
//submit the participant to Viral Loops 
VL.createLead(function() { 
//any logic to run after the participation 
}); 

、フォームが送信されると、次のコードを実行する必要があります高度な設定でokを送信しました。

ありがとうございます!

on_sent_ok: "VL.options.form_fields.form_firstName = $('#firstname').val();VL.options.form_fields.form_email = $('#email').val();VL.options.form_fields.form_lastName = $('#lastname').val();VL.createLead(function() {});" 

それともjs/script.jsであなた(子)テーマディレクトリ内のJavaScriptファイルを作成し、functions.phpにこれを追加することができます。:)

コメントで述べたように
+1

これは最も読みやすいわけではありませんが、1行にすべてのjを置くのはなぜですか?セミコロンは、いずれかのステートメントの終わりを区別して処理します。 –

+0

それをあなたがエンキューした外部JSファイル(https://developer.wordpress.org/reference/functions/wp_enqueue_script/)の関数として入れ、on_sent_okから関数を呼び出すことができます – Jonathan

答えて

2

、どちらかは、それを縮小化あなたの(子)テーマディレクトリ内:

/** 
* Enqueue a script with jQuery as a dependency. 
*/ 
function so_40916565_enqueue() { 
    wp_enqueue_script('so-40916565', get_stylesheet_directory_uri() . '/js/script.js', array('jquery')); 
} 
add_action('wp_enqueue_scripts', 'so_40916565_enqueue'); 

と新しく作成したJavaScriptファイル内:

function js_40916565() { 
    VL.options.form_fields.form_firstName = $("#firstname").val(); //capture the first name 
    VL.options.form_fields.form_email = $("#email").val(); //capture the email 
    VL.options.form_fields.form_lastName = $("#lastname").val(); //capture the last name (if applicable in your form) 
    //submit the participant to Viral Loops 
    VL.createLead(function() { 
    //any logic to run after the participation 
    }); 
} 

そして、あなたのコンタクトフォーム7で:

on_sent_ok: "js_40916565();" 

私は実際にそれをテストし、それが箱から出してすぐに動作しない場合は、コメントを残していません。

+0

それは動作しません:( は私のjsが開始時にこれを持っているべきですか? '<?phpの /** *エンキュー' それはこれらが私の連絡先7つの分野 '

ているのに役立ちます場合は、[テキスト*のFIRSTNAMEプレースホルダ "姓*"]

[テキスト*姓プレースホルダ "姓*"]

[電子メール*メールプレースホルダ "メールアドレス*"]

[テキスト*国のプレースホルダ "国*"]

[ "送信" を提出]

'私も追加国の行をスクリプト 'VL.options.form_fields.form_country = $( "#country")に変換します。 //国をキャプチャします(あなたのフォームに該当する場合)。 –

+0

いいえ、申し訳ありません。おそらく私の投稿は十分に明確ではないでしょう。 'function js_40916565'ブロックのコードは' js/script.js'ファイルになければなりません。 '依存関係としてのスクリプトをjQueryでエンキューする'ブロックは 'functions.php'ファイルになければならず、on_sent_okは明らかにWordPressの管理者のコンタクトフォーム7にあるべきです。 – Jonathan

+0

はい、私はそれをしましたが、テーマオプションにカスタムjsを持つThe Gemテーマを使用しています。そこに 'function'ビットを追加しました。 'enqueue'ビットは私のfunctions.phpファイルにあります。ファイルにはすでに' <?php'があります。もし削除すれば、ウェブサイトのトップにエラーが出ます。連絡先の7つの高度な設定で「送信済み」と表示されます。ここにページがあります。[link](http://sportshosts.com/home-13-2) –

関連する問題