フォームでのメールアドレスの入力について | Community
Skip to main content
April 24, 2017
Solved

フォームでのメールアドレスの入力について

  • April 24, 2017
  • 1 reply
  • 530 views

お世話になっております。大城です。​

フォームでメールアドレスの入力欄を2か所準備し、

その2か所にメールアドレスを入力して頂き、

両方とも同じメールアドレスでないと次に進めないような設定を教えて頂きたいです。

↓フォームイメージ

ラベル名入力欄
氏名大城
会社名ブリッジインターナショナル株式会社
メールアドレスyoshiro@bridge-g.com
メールアドレス(確認用)

yoshiro@bridge-g.com

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.
Best answer by

@Takehiro Masaki​さん、こんにちは。

返信ありがとうございます!

以下のフィールドを2つ作成し、ひみつのおまじないjavascriptを作成してみましたが、うまく動作せずでした。

この情報だけで申し訳ございませんが、何か動作しない要因ってわかりますでしょうか??

◆追加したフィールド

 Field_A

 testEmail

◆ひみつのおまじないjavascript

<p>ひみつのおまじない</p>

<script>

form = MktoForms2.getForm("1104");

MktoForms2.whenReady( function(form){

  form.onValidate(function() {

        // Get the values

        var vals = form.vals();

        //Check your condition

        if (vals.Field_A != vals.testEmail ) {

            form.submittable(false);

            form.showErrorMessage("メアドが違います。");

        }

        else {

            // Enable submission for those who met the criteria

            form.showErrorMessage("メアドは同じです。");

            form.submittable(true);

        }

  });

});

</script>

1 reply

April 25, 2017

@Yasuhiro Oshiro​ さん、こんにちは。

リードデータベースに確認用のフィールドを定義してもよいのであれば、以下で簡単にでできます。

1.ランディングページにHTMLの要素を貼ります。(下記「ひみつのおまじない」)

2.「ひみつのおまじない」を編集してJavaScriptを書きます。

<p>ひみつのおまじない</p>

<script>

form = MktoForms2.getForm("9999");

MktoForms2.whenReady( function(form){

  form.onValidate(function() {

        // Get the values

        var vals = form.vals();

        //Check your condition

        if (vals.Email != vals.testEmail ) {

            form.submittable(false);

            form.showErrorMessage("メアドが違います。");

        }

        else {

            // Enable submission for those who met the criteria

            form.showErrorMessage("メアドは同じです。");

            form.submittable(true);

        }

  });

});

</script>

  • <p>タグはエディタで場所がわからなくなるので便宜上入れているので完成したら消します。
  • 9999はフォームIDで、フォームエディタのURLのmarketo.com/#FO1597A1ZN651LA1のFOに続く4桁の数字部分です。
  • testEmailという変数名は追加したカスタムフィールドです。
  • メアドが同じときのメッセージは動作確認のためなので完成したら消します。

3.できました。

その他もろもろは下記のShow Custom Error Messageに類似するサンプルがありますが、フォームの「埋め込みコード」で事前入力(プレフィル)が動作しなくなります。今回事前入力も動いて、もっとお手軽な方法を考えてみました。

http://developers.marketo.com/rest-api/assets/forms/examples/

ご参考になれば幸いです。

Accepted solution
April 25, 2017

@Takehiro Masaki​さん、こんにちは。

返信ありがとうございます!

以下のフィールドを2つ作成し、ひみつのおまじないjavascriptを作成してみましたが、うまく動作せずでした。

この情報だけで申し訳ございませんが、何か動作しない要因ってわかりますでしょうか??

◆追加したフィールド

 Field_A

 testEmail

◆ひみつのおまじないjavascript

<p>ひみつのおまじない</p>

<script>

form = MktoForms2.getForm("1104");

MktoForms2.whenReady( function(form){

  form.onValidate(function() {

        // Get the values

        var vals = form.vals();

        //Check your condition

        if (vals.Field_A != vals.testEmail ) {

            form.submittable(false);

            form.showErrorMessage("メアドが違います。");

        }

        else {

            // Enable submission for those who met the criteria

            form.showErrorMessage("メアドは同じです。");

            form.submittable(true);

        }

  });

});

</script>

April 26, 2017

おそらくフィールド名が違うのだと思います。

下記の手順でエクスポートしたリストのSOAP API名のフィールド名となります。

Export a List of All Marketo API Field Names - Marketo Docs - Product Docs

これでエクスポしたFields.xlsには3つのフィールドがあります。

わたしのtestEmailも作成した時のフィールド名はTest_Emailですが、JavaScriptではtestEmailとなります。

Field_AはfieldAあたりかと。